您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何在php中利用fsockopen函數獲取網頁的內容,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
具體實現代碼如下:
復制代碼 代碼如下:
$post =1;
$url = parse_url($url);
$host ='https://www.jb51.net';
$path ='/';
$query ='?action=phpfensi.com';
$port =80;
if($post) {
$out = "post $path http/1.0 ";
$out .= "accept: */* ";
//$out .= "referer: $boardurl ";
$out .= "accept-language: zh-cn ";
$out .= "content-type: application/x-www-form-urlencoded ";
$out .= "user-agent: $_server[http_user_agent] ";
$out .= "host: $host ";
$out .= 'content-length: '.strlen($post)." ";
$out .= "connection: close ";
$out .= "cache-control: no-cache ";
$out .= "cookie: $cookie ";
$out .= $post;
} else {
$out = "get $path http/1.0 ";
$out .= "accept: */* ";
//$out .= "referer: $boardurl ";
$out .= "accept-language: zh-cn ";
$out .= "user-agent: $_server[http_user_agent] ";
$out .= "host: $host ";
$out .= "connection: close ";
$out .= "cookie: $cookie ";
}
$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
if(!$fp)
{
return '';//note $errstr : $errno
} else {
return '成功訪問';
}
fsockopen語法:
復制代碼 代碼如下:
resource fsockopen(string $hostname [,int $port = -1 [, int &$errno [,string &$errstr [, float $timeout = ini_get("default_socket_timeout") ]]]] )
啟動一個套接字連接到指定的主機的資源,php支持在互聯網領域的目標和unix在所支持的套接字傳輸列表說明,所支持的傳輸列表也可以檢索使用stream_get_transports().
該插座預設會被啟用,阻塞模式,你可以切換到非阻塞模式使用stream_set_blocking(),如果上面實例看不懂,就來看個簡的吧,代碼如下:
復制代碼 代碼如下:
$fp = fsockopen("www.jb51.net", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno) ";
} else {
$out = "get / http/1.1 ";
$out .= "host: www.jb51.net";
$out .= "connection: close ";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
看完上述內容,你們對如何在php中利用fsockopen函數獲取網頁的內容有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。