php curl 请求中如何携带header参数

nicholas199109 2015-12-05 11:05:59
我想在curl post中带Content-Type参数,试了网上很多方法但依然没有用

<?php
$headers = array(
'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0',
'Referer' => 'http://www.163.com'
);
$url='http://walktest.sinaapp.com/env.php';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//curl_setopt($ch, CURLOPT_REFERER, 'http://www.baidu.com');
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>

这是我在网上找到的代码,但似乎不起作用
网站的Referer和User-Agent值依然没有改变
但如果我使用的是curl_setopt($ch, CURLOPT_REFERER, 'http://www.baidu.com');这种方法,则Referer的值能改变
Content-Type的值好像没法用curl_setopt($ch, CURLOPT_xxx,xxx)这种方式
所以到底怎样才能改变Content-Type的值?
...全文
42515 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
txh027 2015-12-06
  • 打赏
  • 举报
回复


$headers = array(
    'User-Agent' => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0',
    'Referer'    => 'http://www.163.com',
'Content-type'=>'content-type'
);
$url='http://walktest.sinaapp.com/env.php';
$ch = curl_init($url);
>
nicholas199109 2015-12-06
  • 打赏
  • 举报
回复
引用 2 楼 xuzuning 的回复:
自己写错了,就不能怪人家不支持!
$headers = array(
    'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0',
    'Referer: http://www.163.com',
);
$url='http://walktest.sinaapp.com/env.php';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//curl_setopt($ch, CURLOPT_REFERER, 'http://www.baidu.com');
$result = curl_exec($ch);
curl_close($ch);
echo $result;
HTTP/1.1 200 OK Server: nginx Date: Sun, 06 Dec 2015 01:33:43 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: keep-alive Via: 10.67.21.26 Set-Cookie: saeut=117.70.161.80.1449365623790278; path=/; max-age=311040000 firefox3
HTTP_USER_AGENT:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0
HTTP_ACCEPT:*/*
REQUEST_METHOD:GET
HTTP_USER_AGENT:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0
HTTP_REFERER:http://www.163.com 
嗯,这个方法确实有效,还有一点,我补充一下,就是我还用了这个方法 curl_setopt($ch, CURLOPT_COOKIE, $cookie); $cookie的取值也会影响Header是否成功设置
xuzuning 2015-12-06
  • 打赏
  • 举报
回复
自己写错了,就不能怪人家不支持!
$headers = array(
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0',
'Referer: http://www.163.com',
);
$url='http://walktest.sinaapp.com/env.php';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
//curl_setopt($ch, CURLOPT_REFERER, 'http://www.baidu.com');
$result = curl_exec($ch);
curl_close($ch);
echo $result;
HTTP/1.1 200 OK Server: nginx Date: Sun, 06 Dec 2015 01:33:43 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: keep-alive Via: 10.67.21.26 Set-Cookie: saeut=117.70.161.80.1449365623790278; path=/; max-age=311040000 firefox3
HTTP_USER_AGENT:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0
HTTP_ACCEPT:*/*
REQUEST_METHOD:GET
HTTP_USER_AGENT:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0
HTTP_REFERER:http://www.163.com

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧