/** * 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.= "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); }
php socket异步
最新推荐文章于 2021-04-07 01:03:31 发布