《PHP編程:PHP中使用socket方式GET、POST數據實例》要點:
本文介紹了PHP編程:PHP中使用socket方式GET、POST數據實例,希望對您有用。如果有疑問,可以聯系我們。
PHP編程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;
}
?>
PHP編程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
歡迎參與《PHP編程:PHP中使用socket方式GET、POST數據實例》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/11143.html