您的位置:首页 > 编程语言 > PHP开发

php socket异步

2016-01-18 10:49 633 查看
/**
* socket异步请求
* @author mijunzhu 2015-01-14
* @param string  $sHost  主机不带http:// 和 端口号
* @param string  $sMethod  post / get
* @param string  $sUrl   不带域名
* @param array   $arData  数组
* @param  int    $iPort  端口号
* @param int     $iTimeout
* @return bool
*/
function asyn_request($sHost,$sUrl,$arData, $sMethod='POST',$iPort=80, $iTimeout = 1)
{
$fp = @fsockopen($sHost,$iPort,$errno,$errstr,$iTimeout);
//错误
if(!$fp){echo"$errstr ($errno)<br/>uuuuuuu\n";exit;}

$qstr = http_build_query($arData);//请求参数
$params = "";
$params.= $sMethod == "GET" ? "GET {$sUrl}?{$qstr} HTTP/1.1\r\n" :  "POST {$sUrl} HTTP/1.1\r\n";
$params.= "Host: ".$sHost."\r\n";
$params.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5\r\n";
$params.= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n";
$params.= "Accept-Language: zh-cn,zh;q=0.5\r\n";
$params.= [b]"Accept-Encoding: gzip,deflate\r\n";
$params.= "Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7\r\n";
$params.= "Keep-Alive: 300\r\n";
$params.= "Connection: keep-alive\r\n";
$params.= "Content-Type: application/x-www-form-urlencoded\r\n";
$params.= "Content-Length: ".strlen($qstr)."\r\n\r\n";
$params.= $sMethod == "GET" ? null :$qstr;
fwrite($fp, $params);
fclose($fp);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: