搜尋
首頁php教程php手册php获取http头部请求状态信息

我们在使用站长工具会发现有一个获取网站http状态信息了,其实这个功能使用php非常的简单的,我们可以使用curl来实现下面来看一些整理的例子.


使用curl需要在php.ini中设置启用才行 >


extension=php_curl.dll 去掉前面的注释既可.


实现代码如下:

$curl = curl_init(); 
$url=’http://www.phprm.com’; 
curl_setopt($curl, CURLOPT_URL, $url); //设置URL 
curl_setopt($curl, CURLOPT_HEADER, 1); //获取Header 
curl_setopt($curl,CURLOPT_NOBODY,true); //Body就不要了吧,我们只是需要Head 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //数据存到成字符串吧,别给我直接输出到屏幕了 
$data = curl_exec($curl); //开始执行啦~ 
echo curl_getinfo($curl,CURLINFO_HTTP_CODE); //我知道HTTPSTAT码哦~ 
curl_close($curl); //用完记得关掉他

或者直接使用get_headers函数,get_headers — 取得服务器响应一个 HTTP 请求所发送的所有标头,例子代码如下:


在php中我们如果要取得数据、模拟登陆、POST数据等功能第一个想到的肯定是curl函数了,这个函数方便实用并且还可以多线程了下面整理了一个例子,有兴趣的朋友可参考.

例子,使用php curl获取网页数据的方法,代码如下:

<?php
$ch = curl_init();
//设置选项,包括URL
curl_setopt($ch, CURLOPT_URL, "http://www.phprm.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//执行并获取HTML文档内容
$output = curl_exec($ch);
//释放curl句柄
curl_close($ch);
使用phpcurlpost提交数据的方法, 代码如下:
$url = "http://www.phprm.com/curl_post.php";
$post_data = array(
"nameuser" => "syxrrrr",
"pw" => "123456"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
echo $output;

取得数据、模拟登陆、POST数据, 代码如下:

/********************** curl 系列 ***********************/
//直接通过curl方式取得数据(包含POST、HEADER等)
/*
 * $url: 如果非数组,则为http;如是数组,则为https
 * $header: 头文件
 * $post: post方式提交 array形式
 * $cookies: 0默认无cookie,1为设置,2为获取
*/
public function curl_allinfo($urls, $header = FALSE, $post = FALSE, $cookies = 0) {
    $url = is_array($urls) ? $urls[&#39;0&#39;] : $urls;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //带header方式提交
    if ($header != FALSE) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    }
    //post提交方式
    if ($post != FALSE) {
        curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if ($cookies == 1) {
    curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile");
} else if ($cookies == 2) {
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile");
}
if (is_array($urls)) {
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}

最后附一个模仿搜索引擎蜘蛛来抓取网页, 代码如下:

function get_web_page($url) {
    $options = array(
        CURLOPT_RETURNTRANSFER => true, // return web page 返回网页
        CURLOPT_HEADER => false, // 不返回头信息
        CURLOPT_FOLLOWLOCATION => true, // follow redirects
        CURLOPT_ENCODING => "", // handle all encodings
        CURLOPT_USERAGENT => "spider", // 设置UserAgent
        CURLOPT_AUTOREFERER => true, // set referer on redirect
        CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect 连接超时
        CURLOPT_TIMEOUT => 120, // timeout on response 回复超时
        CURLOPT_MAXREDIRS => 10, // stop after 10 redirects
        
    );
    $ch = curl_init($url);
    curl_setopt_array($ch, $options);
    $content = curl_exec($ch);
    $err = curl_errno($ch);
    $errmsg = curl_error($ch);
    $header = curl_getinfo($ch);
    curl_close($ch);
    $header[&#39;&#39;errno&#39;&#39;] = $err;
    $header[&#39;&#39;errmsg&#39;&#39;] = $errmsg;
    $header[&#39;&#39;content&#39;&#39;] = $content;
    return $header;
}


本文链接:

收藏随意^^请保留教程地址.

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。