php獲取網頁請求狀態程式示例

2022-10-06 12:09:12 字數 2357 閱讀 8887

對於網頁返回狀態**一般情況下我們都會去查自己**狀態碼是不是200或錯誤頁面是不是404**,並且多數情況下我們的檢視方法就是使用站長工具或ff瀏覽器等來檢視,極少有人想到自己寫乙個檢視狀態**的功能。

方法一,使用 fsockopen

(不推薦使用curl_getinfo!)

複製** **如下:

// 支援https

&nrocwozuubsp;   // 解析url

$urlinfo = parse_ur

if(empty($urlinfo['path']))

$host = $urlinfo['host'];

$uri = $urlinfo['path'] . (empty($urlinfo['query'])?'':$urlinfo['query']);

// 通過fsock開啟連線

if(!$fp = fsockopen($host, $port, $errno, $error, $fsock_timeout))

// 提交請求

}file_get_contents 程式設計客棧是 fsockopen 功能的簡單打包,效率稍低些,但是抓取成功率很高,所以在 snoopy 出問題的時候我一般拿他來用。5.0.0 新增了對 context 的支援,有了context,他也可以傳送 header 資訊,自定義使用者 agent, referer, cookies 都不在話下。5.1.0 新增了 offset 和 maxlen 引數,可以唯讀檔案的一部分內容。

方法二,使用snoopy.class.php

snoopy是乙個php類,用來模擬瀏覽器的功能,可以獲取網頁內容,傳送表單。

複製** **如下:

$ch = curl_init();

curl_setopt($ch, curlopt_url, '');

curl_setopt($ch, curlopt_range, '0-500');

curl_setopt($ch, curlopt_binarytransfer, 1);

curl_setopt($ch, curlopt_returntransfer, 1);

$result = curl_exec($ch);

curl_close($ch);

echo $result;

$writefn = function($ch, $chunk)

$data .= $chunk;

return strlen($chunk);

};$ch = curl_init();

curl_setopt($ch, curlopt_url, '');

curl_setopt($ch, curlopt_range, '0-500');

curl_setopt($ch, curlopt_binarytransfer, 1);

curl_setopt($ch, curlopt_writefunction, $writefn);

$result = curl_exec($ch);

curl_close($ch);

一些常見的狀態碼為:

200 - 伺服器成功返回網頁

404 - 請求的網頁不存在

503 - 伺服器超時

301 - 頁面重定向

本文標題: php獲取網頁請求狀態程式示例

本文位址:

php獲取http頭部請求狀態資訊

使用curl來實現,curl需要在php.ini中設定啟用,開啟php.ini,找到 extension php curl.dll 去掉前面的注釋。curl curl init url curl setopt curl,curlopt url,url url curl setopt curl,cur...

php網頁示例,php獲取網頁標題的三種方法示例

一 curl方法 推薦 複製 示例 c curl init url www.jbxue.com curl setopt c,curlopt url,url curl setopt c,curlopt returntransfer,1 data curl exec c curl close c pos...

php傳送http請求,獲取網頁內容方法

php傳送http請求,獲取網頁內容方法 curl file get contents fopen 區別 1.相較於file get contents fopen curl支援更多功能 curl支援更多協議,目前支援http https ftp gopher telnet dict file ida...