当前位置: 游戏平台 > 互联网科技 > 正文

一个curl央浼类实例

时间:2020-01-31 11:57来源:互联网科技
1.请求类 curl.php ?php class Curl{ public function _request($curl, $https = true,$method='GET',$data = null){ $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL, $curl); curl_setopt($ch, CURLOPT_HEADER, FALSE);//CURLOPT_HEADE
1.请求类 curl.php
<?php class Curl{ public function _request($curl, $https = true,$method='GET',$data = null){ $ch = curl_init();//初始化curl curl_setopt($ch, CURLOPT_URL, $curl); curl_setopt($ch, CURLOPT_HEADER, FALSE);//CURLOPT_HEADER 设置头部 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);//设置内容 if{ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//是否进行服务器主机验证 不验证 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//是否验证证书 验证 if($method == 'POST'){ curl_setopt($ch,CURLOPT_POST , true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//设置数据 } $content = curl_exec;//得到一个值 curl_close;//关闭资源 释放 return $content;//返回得到的值 } }}?>

一、问题

浏览器和服务器之间是通过HTTP进行通信的,浏览器发送请求给服务器,服务器处理完请求后,发送响应结果给浏览器,浏览器展示给用户。如果服务器处理请求时间比较长,那么浏览器就需要等待服务器的处理结果。

但是,有时候,浏览器不需要等待服务器的处理结果,只要发送的请求已经被服务器接收到。所以,这种情况下,浏览器希望服务器接收到请求立即返回一个响应,比如字符串'success'。这样浏览器可以继续执行后续代码。

在PHP中,很容易做到。如果服务器使用的是nginx+fpm,可以使用下面的代码:

echo 'success';
fastcgi_finish_request();

// 执行耗时代码.....

如果服务器使用的是apache,可以使用下面的代码:

ob_end_flush();
ob_start();
echo 'success';

header("Content-Type: text/html;charset=utf-8");
header("Connection: close");
header('Content-Length: '. ob_get_length());

ob_flush();
flush();

// 执行耗时代码.....

转:

编辑:互联网科技 本文来源:一个curl央浼类实例

关键词: