1. 使用 PHP 获得网页内容 GET方式
<?php
function socketGet($url, &$ret)
{
$urlArr = parse_url($url);
$host = $urlArr[\'host\'];
$port = isset($urlArr[\'port\'])?$urlArr[\'port\']:80;
$path = isset($urlArr[\'path\'])?$urlArr[\'path\']:\"/\";
$fp = fsockopen($host, $port, $errno, $errstr, 30);
if (!$fp)
{
echo \"$errstr ($errno)<br />\\n\";
return false;
}
else
{
$out = \"GET $path HTTP/1.1\\r\\n\";
$out .= \"Host: $host\\r\\n\";
$out .= \"Connection: Close\\r\\n\\r\\n\";
$ret = \"\";
fwrite($fp, $out);
while (!feof($fp))
{
$ret .= fgets($fp, 128);
}
fclose($fp);
}
return true;
}
?>
2. 使用 PHP 向页面 POST 数据
<?php
function socketPost($url, $data, &$ret)
{
$urlArr = parse_url($url);
$host = $urlArr[\'host\'];
$port = isset($urlArr[\'port\'])?$urlArr[\'port\']:80;
$path = isset($urlArr[\'path\'])?$urlArr[\'path\']:\"/\";
$fp = fsockopen($host, $port, $errno, $errstr, 30);
if (!$fp)
{
echo \"$errstr ($errno)<br />\\n\";
return false;
}
else
{
$out = \"POST $path HTTP/1.1\\r\\n\";
$out .= \"Host: $host\\r\\n\";
$out .= \"Content-Type: application/x-www-form-urlencoded\\r\\n\";
$out .= \"Content-Length: \".strlen($data).\"\\r\\n\";
$out .= \"Connection: Keep-Alive\\r\\n\\r\\n\";
$out .= $data;
$ret = \"\";
fwrite($fp, $out);
while (!feof($fp))
{
$ret .= fgets($fp, 128);
}
fclose($fp);
}
return true;
}
?>
如果post报错,把$out .= \"Connection: Keep-Alive\\r\\n\\r\\n\";中的Keep-Alive改成Close
本文地址:https://www.stayed.cn/item/10655
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我