php的curl请求如何设置header参数

phpcurl请求设置header参数的方法:首先使用【CURLOPT_HTTPHEADER】设置HTTP头字段的数组;然后使用一个默认只包含必要的头部字段的HTTP头。

php的curl请求如何设置header参数

php的curl请求设置header参数的方法:

curl请求参数设置时,CURLOPT_HTTPHEADER设置 HTTP 头字段的数组。 

格式: array(‘Content-type: text/plain’, ‘Content-length: 100’)

简单示例:

立即学习“PHP免费学习笔记(深入)”;

function http_post($sUrl, $aHeader, $aData){    $ch = curl_init();    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);    curl_setopt($ch, CURLOPT_URL, $sUrl);    curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);    curl_setopt($ch, CURLOPT_POST, true);    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($aData));    $sResult = curl_exec($ch);    if($sError=curl_error($ch)){        die($sError);    }    curl_close($ch);    return $sResult;} $url = 'https://www.example.com;$header = array('User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36');$data = array();$data = http_post($url,$header,$data);

登录后复制

当你使用curl向一个URL发送HTTP请求的时候,它会使用一个默认只包含必要的头部字段(如:User-Agent, Host, and Accept)的HTTP头。

但在一些个例中,或许你想要在一个HTTP请求中覆盖掉默认的HTTP头或者添加一个新的自定义头部字段。例如,你或许想要重写“HOST”字段来测试一个负载均衡,或者通过重写”User-Agent”字符串来假冒特定浏览器以解决一些访问限制的问题。

最近研究12306火车票相关的数据,想抓取余票信息的时候,本地请求必须设置User-Agent”字符串来假冒特定浏览器,不然就请求失败:

/** * 余票查询 * leftTicketDTO.train_date: 时间 * leftTicketDTO.from_station: 出发车站电码 * leftTicketDTO.to_station: 目的车站电码 * purpose_codes: 乘客类型(成人:ADULT,学生:0X00) * author 洋葱 * @return bool|mixed */function get_left_tickets(){    $url = 'https://kyfw.12306.cn/otn/leftTicket/queryZ?';//    $url = 'https://kyfw.12306.cn/otn/leftTicketPrice/query?';    $param = [        'leftTicketDTO.train_date' => '2019-02-13',        'leftTicketDTO.from_station' => 'BJP',        'leftTicketDTO.to_station' => 'SHH',        'purpose_codes' => 'ADULT'    ];    $http_param = http_build_query($param);    $url = $url.$http_param;    //重写"User-Agent"字符串来假冒特定浏览器以解决访问限制的问题    $header = array('User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36');    $data = curl_request($url,true,'GET',null,$header);    if($data){        $data = json_decode($data,true);    }    return $data;}

登录后复制

相关视频推荐:PHP编程从入门到精通

以上就是php的curl请求如何设置header参数的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2130068.html

(0)
上一篇 2025年2月24日 22:24:14
下一篇 2025年2月24日 07:43:55

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP微信发送推送消息乱码怎么办

    PHP微信发送推送消息乱码的解决办法:首先中文在数组转json时会被编码为unicode,使用urlencode识别微信接口;然后在【json_encode】前进行编码;最后等转换后再用urldecode转回来即可。 PHP微信发送推送消息…

    2025年2月24日
    200
  • php如何动态调用函数

    php动态调用函数的方法:首先定义一个函数;然后将函数名或者字符串赋值给一个变量;最后使用变量名代替函数名动态调用函数即可。 php动态调用函数的方法: 1. 定义一个函数 2. 将函数名(字符串)赋值给一个变量 3. 使用变量名代替函数名…

    2025年2月24日
    200
  • php对象如何转成数组

    php对象转成数组的方法:1、使用封装自定义函数,传入对象,代码为【$array[$key] =$this->object_array($value)】;2、利用系统函数转换,代码为【$arr=json_decode()】。 php对…

    2025年2月24日
    200
  • php如何取出字符串中的最后几个字符

    php取出字符串中的最后几个字符的方法:可以利用substr()函数来实现。substr()函数可以返回字符串的提取部分,如果失败则返回FALSE,或者返回一个空字符串,如:【substr(“Hello world”…

    2025年2月24日
    200
  • php中一个字符占几个字节

    php中不同的编码格式下字符占用的字节是不同的。ANSI编码格式下一个中文字符占2个字节,一个英文字符占1个字节;UTF-8编码格式下一个中文字符占3个字节,一个英文字符占1个字节。 不同的编码格式下字符占用的字节是不同的: (推荐教程:p…

    2025年2月24日
    200
  • php中ppt转pdf问题

    php中ppt转pdf的方法:首先配置组件服务,并在后台运行OpenOffice软件;然后配置PHP扩展,并实现文件转换;最后查看PDF文档即可。 php中ppt转pdf的方法: 1. 配置组件服务 OpenOffice 安装完成之后,按 …

    2025年2月24日 编程技术
    200
  • php如何清除空数组

    php清除空数组的方法:在php代码中使用【array_filter()】函数将空数组去除,语法为【array_filter($array,$callback,$flag)】。 php清除空数组的方法: 在php中可以通过使用“array_…

    2025年2月24日
    200
  • php如何把对象转成字符串

    php把对象转成字符串的方法:首先打开php编辑器,新建php文件;然后在【index.php】中,输入代码【echo json_encode($a)】;最后浏览器运行【index.php】页面即可。 php把对象转成字符串的方法: 1、首…

    2025年2月24日 编程技术
    200
  • apache不能执行php怎么办

    apache不能执行php的解决方法:1、打开apache的配置文件httpd.conf;2、添加配置【LoadModule php5_module “H:/amp/php/php5apache2_2.dll”】;3…

    2025年2月24日 编程技术
    200
  • php如何查询字符串长度

    php查询字符串长度的方法:首先新建一个php文件,并在文件内定义两个字符串;然后新建【utf8_strlen()】函数,使用【preg_match_all()】方法通过正则表达式拆分字符串;最后使用echo将结果输出到页面中即可。 php…

    2025年2月24日 编程技术
    200

发表回复

登录后才能评论