Maison php教程 php手册 php获取http头部请求状态信息

php获取http头部请求状态信息

May 24, 2016 pm 01:25 PM

我们在使用站长工具会发现有一个获取网站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); //用完记得关掉他
Copier après la connexion

或者直接使用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;
Copier après la connexion

取得数据、模拟登陆、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;
}
Copier après la connexion

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

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;
}
Copier après la connexion


本文链接:

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

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)