php 怎么设置带着请求头请求网页

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 怎么设置带着请求头请求网页相关的知识,希望对你有一定的参考价值。

参考技术A file_get_contents()比file()慢?

如果抓取别人的页面还是用file_get_contents()比较好~
file()取回的是数组
而file_get_contents()取回的是字符串

你是想取回个数组再把它们连起来方便?还是直接把他们取回来方便?

另外
file_get_contents(String,int)
有个可选参数设定读取的长度

php手册中说:
file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。
很高兴回答楼主的问题 如有错误请见谅

php curl如何设置自定义请求头和打印请求头信息

$header = [
    ‘client:h5‘,
    ‘token:test‘,
];

curlRequest($url, $params, true, 10, $header);

PHP 5.1.3版以上支持用curl_getinfo函数来获取请求头
具体需要先设置 curl_setopt($ch, CURLINFO_HEADER_OUT, true);
然后在请求发生后用 curl_getinfo($ch, CURLINFO_HEADER_OUT);

    function curlRequest($url, $params = array(), $is_post = false, $time_out = 10, $header=array())
    {
        $str_cookie = isset($ext_params[‘str_cookie‘]) ? $ext_params[‘str_cookie‘] : ‘‘;$ch = curl_init();//初始化curl
        curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页
        curl_setopt($ch, CURLOPT_HEADER, 0);//设置是否返回response header
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上

        //当需要通过curl_getinfo来获取发出请求的header信息时,该选项需要设置为true
        curl_setopt($ch, CURLINFO_HEADER_OUT, true);

        curl_setopt($ch, CURLOPT_TIMEOUT, $time_out);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $time_out);
        curl_setopt($ch, CURLOPT_POST, $is_post);

        if ($is_post) {
            curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        }

        if ($str_cookie) {
            curl_setopt($ch, CURLOPT_COOKIE, $str_cookie);
        }

        if ($header) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        }

        $response = curl_exec($ch);

     //打印请求的header信息
$request_header = curl_getinfo( $ch, CURLINFO_HEADER_OUT); print_r($request_header); curl_close($ch); return $response; }

 









以上是关于php 怎么设置带着请求头请求网页的主要内容,如果未能解决你的问题,请参考以下文章

原生ajax请求 怎么设置processData这个参数?

php 怎么判断是不是ajax请求

php 怎么允许某些域名访问和获取访问的域名

在网页设计中怎么设置浏览器编码为utf-8?

vue axios发送post请求,怎么设置请求头解决跨域

简单说下Retrofit怎么设置请求头信息