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

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

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

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

简单示例: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 curl 设置请求头,php的curl请求如何设置header参数相关推荐

  1. php curl查看获取请求头-swoft1请求头变小写银联云闪付header请求对方接收不到

    php curl查看获取请求头-银联云闪付header请求对方接收不到 php curl查看获取请求头-银联云闪付header请求对方接收不到 php curl查看获取请求头-银联云闪付header请 ...

  2. h5获取http请求头_nodejs 中http请求头,响应头

    -------------------- 1.request常见的属性 ----------------------- var http=require("http"); var ...

  3. php 模拟 https请求头,php 模拟 http 请求

    get //建立连接 $fp=fsockopen("localhost",80,$errno,$errstr,30); if(!$fp){ echo "$errstr $ ...

  4. 设置Cookie请求头报错(Refused to set unsafe header “Cookie“)

    请求的header匹配以下不安全字符时,将被终止,具体参考如下: Accept-CharsetAccept-EncodingConnectionContent-LengthCookieCookie2C ...

  5. service和doXX方法区别、Http请求头案例、获取请求的传递参数

    一.service和doXX方法区别: 1.注意:tomcat服务器首先会调用servlet的service方法,然后在service方法中再根据请求方式来分别调用对应的doXX方法. 2.例如,如果 ...

  6. linux shell curl get 请求头 和多参数问题及解决

    1.请求头Authorization 在curl 中添加请求头信息,需要用-H ,并且用"请求头属性:属性值"的格式,如 curl -H "Authorization:B ...

  7. request设置请求头_收藏 Scrapy框架各组件详细设置

    今天说一下Scrapy框架各组件的详细设置. 关于Scrapy Scrapy是纯Python语言实现的爬虫框架,简单.易用.拓展性高是其主要特点.这里不过多介绍Scrapy的基本知识点,主要针对其高拓 ...

  8. 爬虫实战学习笔记_2 网络请求urllib模块+设置请求头+Cookie+模拟登陆

    1 urllib模块 1.1 urllib模块简介 Python3中将urib与urllib2模块的功能组合,并且命名为urllib.Python3中的urllib模块中包含多个功能的子模块,具体内容 ...

  9. resttemplate 设置请求头_Jmeter信息头管理器常用的三种传参格式

    当我们在利用Jmeter进行接口测试时,其实相当于Jmeter模拟浏览器作为客户端,按照HTTP等协议发送报文给服务器端接口,以HTTP为例,他的请求报文包括请求行.请求头和请求体,今天要说的三种co ...

最新文章

  1. window.unload ajax不执行_AJAX
  2. 基于OpenCV的显著图绘制
  3. mysql分表全局查询_mysql如何查询多样同样的表/sql分表查询、java项目日志表分表的开发思路/按月分表...
  4. 人物和背景分离的快速方法
  5. 无人车是怎样一步步学会开车的? | 自动驾驶科普
  6. 牛客国庆集训派对Day3: G. Stones(博弈+SG)
  7. (转载)新浪微博错误提示代码
  8. 18、HX1838红外遥控模块控制led
  9. 2019运输科技领域最新SCI期刊影响因子正式发布,附三年IF变化趋势!
  10. 盘点10款逆天级效率工具,能帮创业公司节省50%时间成本
  11. 学习日记day25 平面设计 综合例子
  12. 如何使用电脑注册微博登陆模拟器
  13. 大公司都在用的招聘分析模型,会EXCEL就行,白嫖党不要错过
  14. hp proliant dl380从U盘启动按哪个键
  15. 【饭谈】为什么总有人劝你用mac来办公?
  16. 计算机屏幕上一致出现菜单解锁,解决方法:如何解锁计算机显示器菜单
  17. 【FFT-类字符串匹配】LOJ6388 [THUPC2018]赛艇 / Citing
  18. 机器学习专业英语单词
  19. 【JUC】并发编程(二)
  20. HTML5期末大作业:售票网站设计——票务网站整套模板(24个页面) HTML+CSS+JavaScript

热门文章

  1. thinkphp开启定时任务的三种办法(最全)
  2. mysql导入es_mysql数据导入es
  3. 【网络技术】什么是CNI
  4. bootstrap 中pre标签自动换行
  5. 安全渗透测试笔记------------网络踩点(fierce、lbd、maltego、netifera)
  6. 二阶系统的带宽(频域分析)
  7. java实现对rar文件和zip文件的解压缩
  8. Windows下select模型(以及EAGAIN、EWOULDBLOCK、EINTR)
  9. frp客户端(frpc) 安装及使用
  10. RxSwift学习--特征序列之Driver