curl cookiejar 获取不到内容

zhimwin 2014-10-16 09:34:51
<?php

curlImage();
function curlImage(){
$cookieJar=tempnam('tmp', cookieImage);
$ch=curl_init("http://124.160.104.166/(1jovmraaf1pemj55dkr01ebo)/CheckCode.aspx");
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieJar);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$image=curl_exec($ch);
curl_close($ch);
$fp=fopen("image.gif", "w+");
fwrite($fp, $image);

}






这段代码是获取验证码加上cookie得可是每次看cookieImage文件都是空得
这是为什么?[yabao=][/yabao][yabao=][/yabao]
...全文
220 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhimwin 2014-10-16
  • 打赏
  • 举报
回复


__VIEWSTATE:dDwtMTg3MTM5OTI5MTs7Po2vbV26zRXjwzyC5JMfVjmyveUK
TextBox1:账号
TextBox2:密码
TextBox3:验证码
RadioButtonList1:%D1%A7%C9%FA
Button1:
lbLanguage:
这是登录的时候提交的内容 好像也没有什么玄机 上面__VIEWSTATE这个值是不会随着地址栏里面的值改变而改变
zhimwin 2014-10-16
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
[/code]显然跳转中的形如 (mggxrgvmym2tzn45b5wfkh55) 的路径是充当 session 的角色的
谢谢版主得耐心解答 可是这原理是什么?为什么可以不被解析为一个文件夹得名字而是session,这个专业点得术语是什么我去百度下。 可是网页跳转得时候这个值是没有改变的那,我登录什么的这个值不应该会改变吗,因为我添加了新的内容进去了呀,比如新形成的验证码内容?
twwlcn 2014-10-16
  • 打赏
  • 举报
回复
顶上说的对啊
xuzuning 2014-10-16
  • 打赏
  • 举报
回复
print_r(get_headers('http://124.160.104.166/'));
Array
(
    [0] => HTTP/1.1 302 Found
    [1] => Connection: close
    [2] => Date: Thu, 02 Oct 2014 03:05:03 GMT
    [3] => Server: Microsoft-IIS/6.0
    [4] => X-Powered-By: ASP.NET
    [5] => X-AspNet-Version: 1.1.4322
    [6] => Location: /(mggxrgvmym2tzn45b5wfkh55)/default2.aspx
    [7] => Cache-Control: private
    [8] => Content-Type: text/html; charset=gb2312
    [9] => Content-Length: 158
    [10] => HTTP/1.1 200 OK
    [11] => Connection: close
    [12] => Date: Thu, 02 Oct 2014 03:05:04 GMT
    [13] => Server: Microsoft-IIS/6.0
    [14] => X-Powered-By: ASP.NET
    [15] => X-AspNet-Version: 1.1.4322
    [16] => Pragma: no-cache
    [17] => Cache-Control: no-cache
    [18] => Pragma: no-cache
    [19] => Expires: -1
    [20] => Content-Type: text/html; charset=gb2312
    [21] => Content-Length: 4091
)

显然跳转中的形如 (mggxrgvmym2tzn45b5wfkh55) 的路径是充当 session 的角色的
zhimwin 2014-10-16
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:
对方是 .net 的,是否一定会在图片返回时加入 cookie,这我不大清楚 但是如果表单页已经有了 session 的 cookie 项的话,验证码还会再发一个 session 项吗?
不是很明白。 http://124.160.104.166/ 这个网址跳转去是登录页面 登录后跳转得页面也没有cookie 总得是哪里有cookie来绑定验证码得吧? 我看过所有得页面都是没有返回cookie得。。 顺便问一下版主 http://124.160.104.166/(n0rdck55vatud3uc5mmnpy45)/default2.aspx 地址中间括号里面的那一段是怎么生成的? 类似调用tempnam()然后生成一个按某种方式排列加密的目录名,然后把让用的文件复制的这个目录下面?还是有什么办法解析的时候直接类似忽略掉这个值从而找到后面的文件?
xuzuning 2014-10-16
  • 打赏
  • 举报
回复
对方是 .net 的,是否一定会在图片返回时加入 cookie,这我不大清楚 但是如果表单页已经有了 session 的 cookie 项的话,验证码还会再发一个 session 项吗?
zhimwin 2014-10-16
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
print_r(get_headers('http://124.160.104.166/(1jovmraaf1pemj55dkr01ebo)/CheckCode.aspx'));
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Connection: close
    [2] => Date: Thu, 02 Oct 2014 01:59:19 GMT
    [3] => Server: Microsoft-IIS/6.0
    [4] => X-Powered-By: ASP.NET
    [5] => X-AspNet-Version: 1.1.4322
    [6] => Cache-Control: private
    [7] => Content-Type: image/Gif; charset=gb2312
    [8] => Content-Length: 2051
)
没有 cookie 项,自然也不会有 cookie 被保存 另外“每次看cookieImage文件”这个说法也是错的 tempnam('tmp', 'cookieImage'); 是产生形如 tmp/cooXXX.tmp 的文件名
嗯文件名这个我知道后面还有随机得字符刚刚只是简单得说一下不好意思。 可是如果验证码没有cookie怎么实现得?session不也是有cookie ID得?
xuzuning 2014-10-16
  • 打赏
  • 举报
回复
print_r(get_headers('http://124.160.104.166/(1jovmraaf1pemj55dkr01ebo)/CheckCode.aspx'));
Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Connection: close
    [2] => Date: Thu, 02 Oct 2014 01:59:19 GMT
    [3] => Server: Microsoft-IIS/6.0
    [4] => X-Powered-By: ASP.NET
    [5] => X-AspNet-Version: 1.1.4322
    [6] => Cache-Control: private
    [7] => Content-Type: image/Gif; charset=gb2312
    [8] => Content-Length: 2051
)
没有 cookie 项,自然也不会有 cookie 被保存 另外“每次看cookieImage文件”这个说法也是错的 tempnam('tmp', 'cookieImage'); 是产生形如 tmp/cooXXX.tmp 的文件名

21,886

社区成员

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

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