QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2492|回复: 8

[PHP开发] PHP使用curl连接发送cookie?

[复制链接]

3

主题

10

帖子

64

积分

新手上路

Rank: 1

积分
64
发表于 2016-3-3 10:28:58 | 显示全部楼层 |阅读模式
5Z币
我本地有个文件,内部有个curl连接,想每次访问我本地文件的时候,执行内部的curl连接到另一个网址并发送cookie过去,试了几种方法都没有发送正确或者没有发送过去,本地浏览器只能查看到访问本地文件的http包,无法查看内部curl连接的header情况,有什么方法能抓到curl连接的包?
发送cookie的方法
1.
  1. curl_setopt($ch, CURLOPT_COOKIE, $cookie_string);
复制代码
2.
  1. $header[]= 'Accept: image/gif, image/x-xbitmap, image/jpeg, imagepeg, application/x-shockwave-flash, textml, * '. '/* ';
  2.                         $header[]= 'Accept-Language: zh-cn ';
  3.                         $header[]= 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) ';
  4.                         $header[]= 'Host: '.'msdktest.qq.com';
  5.                         $header[]= 'Connection: Keep-Alive ';
  6.                         $header[]= 'Cookie: '.$cookie_string;
  7. curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
复制代码
并没有使用文件的方法,因为的cookie会变化,只想每次动态发送变量过去。有做过的能解答下吗?

最佳答案

查看完整内容

Firefox 的 Firebug Cookies 那里看看能不能看到, Live Http Headers HttpFox 再不行试试 Fiddler 这个

1

主题

5

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2016-3-3 10:28:59 | 显示全部楼层
杨若风 发表于 2016-3-3 12:25
对,就是发送那个字符串过去。实现的作用是做一个验证,我是调用一个API接口,他需要我传cookie过去做认 ...

Firefox 的 Firebug Cookies 那里看看能不能看到,

Live Http Headers
HttpFox

再不行试试 Fiddler 这个

0

主题

2

帖子

228

积分

新手上路

Rank: 1

积分
228
发表于 2016-3-3 11:56:06 | 显示全部楼层
http://php.net/manual/zh/function.curl-setopt.php#61395

  1. <?php
  2.        $ch = curl_init();
  3.        curl_setopt ($ch, CURLOPT_URL, $url);
  4.        curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE_PATH);
  5.        curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE_PATH);

  6.        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
  7.        $result = curl_exec ($ch);
  8.        curl_close($ch);
  9.        return $result;
  10. ?>
复制代码



是这个吗?

1

主题

5

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2016-3-3 12:19:13 | 显示全部楼层
是要将 $cookie_string 这个发送过去?

你说说你实现的作用?

是要模拟登录 还是什么?

3

主题

10

帖子

64

积分

新手上路

Rank: 1

积分
64
 楼主| 发表于 2016-3-3 12:23:49 | 显示全部楼层
pangou 发表于 2016-3-3 11:56
http://php.net/manual/zh/function.curl-setopt.php#61395

我不想发送文件过去,就发送变量过去就行了,因为我的cookie是变化的。

3

主题

10

帖子

64

积分

新手上路

Rank: 1

积分
64
 楼主| 发表于 2016-3-3 12:25:29 | 显示全部楼层
heyphp 发表于 2016-3-3 12:19
是要将 $cookie_string 这个发送过去?

你说说你实现的作用?

对,就是发送那个字符串过去。实现的作用是做一个验证,我是调用一个API接口,他需要我传cookie过去做认证,他将值给了我,让我原样传给他。

1

主题

5

帖子

31

积分

新手上路

Rank: 1

积分
31
发表于 2016-3-3 13:09:14 | 显示全部楼层
你的$cookie_string 是不是这样的格式?

Cookie: time=1457510400l; session-id=182-8768191-0392905;   

3

主题

10

帖子

64

积分

新手上路

Rank: 1

积分
64
 楼主| 发表于 2016-3-3 14:40:17 | 显示全部楼层
heyphp 发表于 2016-3-3 13:06
Firefox 的 Firebug Cookies 那里看看能不能看到,

Live Http Headers

感谢回答,我找到工具了。用浏览器查看cookie不行,看不到内部curl的cookie,只能看到我访问我本地文件的情况;Fiddler也不行,他是针对浏览器来的,必须要用浏览器执行请求操作才能看到http包。我重新找到一个工具了,就是windows系统用的Microsoft Network Monitor,这个不依赖浏览器,可以监控appache的请求包,我看到我的curl请求包了,cookie传送成功了。

1

主题

22

帖子

199

积分

新手上路

Rank: 1

积分
199
发表于 2016-10-9 13:42:54 | 显示全部楼层
看看~~~~~~~~~~~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

     
    战略合作|联系方式|广告赞助|商务合作|手机版|小黑屋|( 京ICP备14036609号-6 )

GMT+8, 2017-12-18 14:53

© 2013-2017 Powered by Discuz! X3.3. 本站由 又拍云 提供 CDN 图片存储服务

快速回复 返回顶部 返回列表