php curl 设置请求头,php的curl请求如何设置header参数
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参数相关推荐
- php curl查看获取请求头-swoft1请求头变小写银联云闪付header请求对方接收不到
php curl查看获取请求头-银联云闪付header请求对方接收不到 php curl查看获取请求头-银联云闪付header请求对方接收不到 php curl查看获取请求头-银联云闪付header请 ...
- h5获取http请求头_nodejs 中http请求头,响应头
-------------------- 1.request常见的属性 ----------------------- var http=require("http"); var ...
- php 模拟 https请求头,php 模拟 http 请求
get //建立连接 $fp=fsockopen("localhost",80,$errno,$errstr,30); if(!$fp){ echo "$errstr $ ...
- 设置Cookie请求头报错(Refused to set unsafe header “Cookie“)
请求的header匹配以下不安全字符时,将被终止,具体参考如下: Accept-CharsetAccept-EncodingConnectionContent-LengthCookieCookie2C ...
- service和doXX方法区别、Http请求头案例、获取请求的传递参数
一.service和doXX方法区别: 1.注意:tomcat服务器首先会调用servlet的service方法,然后在service方法中再根据请求方式来分别调用对应的doXX方法. 2.例如,如果 ...
- linux shell curl get 请求头 和多参数问题及解决
1.请求头Authorization 在curl 中添加请求头信息,需要用-H ,并且用"请求头属性:属性值"的格式,如 curl -H "Authorization:B ...
- request设置请求头_收藏 Scrapy框架各组件详细设置
今天说一下Scrapy框架各组件的详细设置. 关于Scrapy Scrapy是纯Python语言实现的爬虫框架,简单.易用.拓展性高是其主要特点.这里不过多介绍Scrapy的基本知识点,主要针对其高拓 ...
- 爬虫实战学习笔记_2 网络请求urllib模块+设置请求头+Cookie+模拟登陆
1 urllib模块 1.1 urllib模块简介 Python3中将urib与urllib2模块的功能组合,并且命名为urllib.Python3中的urllib模块中包含多个功能的子模块,具体内容 ...
- resttemplate 设置请求头_Jmeter信息头管理器常用的三种传参格式
当我们在利用Jmeter进行接口测试时,其实相当于Jmeter模拟浏览器作为客户端,按照HTTP等协议发送报文给服务器端接口,以HTTP为例,他的请求报文包括请求行.请求头和请求体,今天要说的三种co ...
最新文章
- window.unload ajax不执行_AJAX
- 基于OpenCV的显著图绘制
- mysql分表全局查询_mysql如何查询多样同样的表/sql分表查询、java项目日志表分表的开发思路/按月分表...
- 人物和背景分离的快速方法
- 无人车是怎样一步步学会开车的? | 自动驾驶科普
- 牛客国庆集训派对Day3: G. Stones(博弈+SG)
- (转载)新浪微博错误提示代码
- 18、HX1838红外遥控模块控制led
- 2019运输科技领域最新SCI期刊影响因子正式发布,附三年IF变化趋势!
- 盘点10款逆天级效率工具,能帮创业公司节省50%时间成本
- 学习日记day25 平面设计 综合例子
- 如何使用电脑注册微博登陆模拟器
- 大公司都在用的招聘分析模型,会EXCEL就行,白嫖党不要错过
- hp proliant dl380从U盘启动按哪个键
- 【饭谈】为什么总有人劝你用mac来办公?
- 计算机屏幕上一致出现菜单解锁,解决方法:如何解锁计算机显示器菜单
- 【FFT-类字符串匹配】LOJ6388 [THUPC2018]赛艇 / Citing
- 机器学习专业英语单词
- 【JUC】并发编程(二)
- HTML5期末大作业:售票网站设计——票务网站整套模板(24个页面) HTML+CSS+JavaScript