Curl发送header头信息

有些接口用CURL调用的时候,要发送header头信息

如百度的查询快递的接口

PHP代码如下:

$url = "https://sp0.baidu.com/9_Q4sjW91Qh3otqbppnN2DJv/pae/channel/data/asyncqury?appid=4001&com={$type}&nu={$deliveryBn}";
        $headers = array(
        "Host: sp0.baidu.com",
        "Connection: keep-alive",
        "Cache-Control: max-age=0",
        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
        "User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36",
        "Accept-Encoding: gzip, deflate, sdch",
        "Accept-Language: zh-CN,zh;q=0.8",
        "Cookie: BAIDUID=FAFE6A61C5C95A71A482ABC3315F9228:FG=1; BIDUPSID=FAFE6A61C5C95A71A482ABC3315F9228; PSTM=1435563408; BD_UPN=12314653
        ");
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

        $output = curl_exec($ch);
        curl_close($ch);
        $arr = json_decode($output, true)
/**
    $type是快递公司的代码简称,如:yuantong,shentong,ems,shunfeng,yunda,zhongtong,tiantian,debang,zhaijisong等
    $deliveryBn则是运单号
    
**/
时间: 2024-11-05 18:53:19

Curl发送header头信息的相关文章

curl get请求添加header头信息

function get($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPGET, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //TRUE 将curl_exec()获取的信息以字符串返回,而不是直接输出. $header = ['User-Agent: php test']; //设置一个你的浏览器agent的header curl_setopt($ch, CURLOPT

不同的浏览器的刷新行为所发送的头信息是不一样的

3.本地浏览器--代理服务器(squid)--远程服务器(RS) 在这种数据流下,我们来想想工作的原理一下,本地浏览器需要获取一个url上的数据,然后将这个HTTP请求发送给squid,squid将这个HTTP请求变成自己的请求来发送给RS.然后squid获取到数据,并将这个数据返回给本地浏览器.所以我们要明确以下几个重要的概念: 1.对于RS来说,访问RS的是squid:与本地浏览器没有任何直接关联. 2.对于squid来说,HTTP请求如果返回了304,那么squid将从自身获取缓存的数据:

PHP使用CURL设置header头传参以及设置Content-Type: application/json类型的后台数据接收

CURL函数 public function CurlRequest($url,$data=null,$header=null){ //初始化浏览器 $ch = curl_init(); //设置浏览器,把参数url传到浏览器的设置当中 curl_setopt($ch, CURLOPT_URL, $url); //以字符串形式返回到浏览器当中 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //禁止https协议验证域名,0就是禁止验证域名且兼容p

PHP设置头信息,取得返回头信息

php 设置头信息,取得返回头信息 张映 发表于 2011-05-27 分类目录: php 设置请求的头信息,我们可以用header函数,可以用fsockopen,可以用curl等,本文主要讲的是用curl来设置头信息,并取得返回后的头信息. 一,请求方设置自己的头信息,header.php 查看复制打印? <?php function FormatHeader($url, $myIp = null,$xml = null) { // 解悉url $temp = parse_url($url);

PHP中header头设置Cookie与内置setCookie的区别

首先声明,浏览的Cookie操作都是通过HTTP Header(俗称"Http头") 来实现.所有的服务器与客户端之间Cookie数据传输都是通过Http请求头来操作. PHP中setCookie(函数的实现),就是对HTTP头进行封装,由此看来 使用 header 与 使用setCookie是一样的. 由于header头信息属于HTTP协议内容,必须先把头信息发送到服务器,再进行数据下载等其他操作,所以在setCookie 与 header 之前不能有任何内容输出(例如:echo/p

提取header头进行模块化处理

在进行爬取网上东西的时候一般网站都做了UA的过滤,解决办法就是在代码中加入. 所以才有了本篇提取header头信息单独写成一个模块或者说是函数/类的想法,直接上示例 1.把UA头信息在浏览器中复制出来,并存在一个txt文档中,如下是我提取的示例: 1 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 2 Accept-Language:zh-CN,zh;q=0.

php curl header头中添加请求信息

$header = array( 'x-api-key:'.'b8602c0361111415a221759cdeb9e636', 'Content-Type:'.'application/x-www-form-urlencoded; charset=UTF-8' ); /** * @param $url * @param null $data * @return bool|string */ public function http_request($url, $data = null, $h

wget/curl查看请求响应头信息

wget / curl 是两个比较方便的测试http功能的命令行工具,大多数情况下,测试http功能主要是查看请求响应 头信息 ,而给这两个工具加上适当的命令行参数即可轻易做到,其实查man手册就能找到对应的参数选项,不过这里仍然mark一下. wget --debug Turn on debug output, meaning various information important to the developers of Wget if it does not work properly

curl用法:获取网站的header头及状态码

curl命令最常用的方法是使用参数-I 获取域名或IP的header信息,包括HTTP返回状态码,server类型,文本类型,缓存时间等等:监控web服务时也常用此方法判断web服务是否正常: 监控web服务,可以使用curl获取网站的header头,查看返回值是否是200 OK,作为判断web服务正常的一个标准: 使用curl -I 可以获取,如果提取第一行信息时,会出现一些不需要的信息,那我们该怎么取呢? [[email protected] ~]$ curl -I mofansheng.b