本文实例讲述了PHP发送http请求的常用方法。分享给大家供大家参考,具体如下:
http请求有get,post
。PHP发送http请求有三种方式[我所知道的有三种,有其他的告诉我]。
下面说使用curl发送
。
首先环境需要配置好curl组件。
在windows中让php支持curl比较简单:
两个使用curl发请求的例子。 再一个post方式的例子: 在这个http://mytest/lab/t.php文件中: 就先写这么多。
Fsocket:
";
sock_get($gurl);
function sock_get($url)
{
$info = parse_url($url);
$fp = fsockopen($info["host"],80,$errno,$errstr,3);
$head = "GET ".$info['path']."?".$info["query"]." HTTP/1.0\r\n";
$head .= "Host: ".$info['host']."\r\n";
$head .= "\r\n";
$write = fputs($fp,$head);
while (!feof($fp)){
$line = fgets($fp);
echo $line."
"; } } //fsocket模拟post提交 $purl = "http://mytest/lab/t.php"; echo "以下是POST方式的响应内容:
"; sock_post($purl,"uu=rrrrrrrrrrrr&&kk=mmmmmm"); function sock_post($url,$query) { $info = parse_url($url); $fp = fsockopen($info["host"],3); $head = "POST ".$info['path']." HTTP/1.0\r\n"; $head .= "Host: ".$info['host']."\r\n"; $head .= "Referer: http://".$info['host'].$info['path']."\r\n"; $head .= "Content-type: application/x-www-form-urlencoded\r\n"; $head .= "Content-Length: ".strlen(trim($query))."\r\n"; $head .= "\r\n"; $head .= trim($query); $write = fputs($fp,$head); print_r(fgets($fp)); while (!feof($fp)) { $line = fgets($fp); echo $line."
"; } }
"; } } //fsocket模拟post提交 $purl = "http://mytest/lab/t.php"; echo "以下是POST方式的响应内容:
"; sock_post($purl,"uu=rrrrrrrrrrrr&&kk=mmmmmm"); function sock_post($url,$query) { $info = parse_url($url); $fp = fsockopen($info["host"],3); $head = "POST ".$info['path']." HTTP/1.0\r\n"; $head .= "Host: ".$info['host']."\r\n"; $head .= "Referer: http://".$info['host'].$info['path']."\r\n"; $head .= "Content-type: application/x-www-form-urlencoded\r\n"; $head .= "Content-Length: ".strlen(trim($query))."\r\n"; $head .= "\r\n"; $head .= trim($query); $write = fputs($fp,$head); print_r(fgets($fp)); while (!feof($fp)) { $line = fgets($fp); echo $line."
"; } }
curl添加gzip的参数可参考:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.f2er.com/php/18592.html