有关 CURL 模拟带验证码登录的问题。

2015-09-13 02:41:01 +08:00
 eoo
测试了一个晚上 还是找不出 问题, 验证码我也保存了 , Coookie 我也保存了 可是带着 cookie 和 data 提交 总出现 验证码错误,大神帮忙看看 到底哪里出错了,这大半夜的码代码不容易啊。。。。


测试链接 http://v.milog.cn/1.php

测试帐号 eoo 123456


1.php 代码

<?php
header ("content-Type: text/html; charset=utf-8");

$cookie_file = './cookie.txt';

//这是验证码地址
$verify_code_url = 'http://dnszc.ml/index.php?m=Public&a=verify';

$curl = curl_init ();
curl_setopt ($curl,CURLOPT_URL,$verify_code_url );
curl_setopt ($curl,CURLOPT_COOKIEJAR,$cookie_file );
curl_setopt ($curl, CURLOPT_HEADER,false );
curl_setopt ($curl,CURLOPT_RETURNTRANSFER,true );
$img = curl_exec ($curl );
curl_close ($curl );

//保存验证码
file_put_contents ("verifyCode.jpg",$img );


echo<<<HTML
<form action="2.php" method="post">
<p>帐号<input type="text" name="name"></p>
<p>密码<input type="password" name="password"></p>

<p>验证<input type="text" name="var"><img src="verifyCode.jpg"/></p>
<p><input name="submit" type="submit" value="登录"></p>
</form>
HTML;
?>



2.php 代码

<?php

if ($_POST['submit']){



print_r ($_POST );

//POST 登录地址
$login_url='http://dnszc.ml/index.php?m=Login&a=logining';

//POST 参数
$str_data="name={$_POST['name']}&password={$_POST['password']}&verify={$_POST['var']}";


$ch=curl_init ();
curl_setopt ($ch,CURLOPT_URL,$login_url );
curl_setopt ($ch,CURLOPT_HEADER,true );
curl_setopt ($ch,CURLOPT_TIMEOUT,5 );
curl_setopt ($ch,CURLOPT_POST,true );
curl_setopt ($ch,CURLOPT_POSTFIELDS,$str_data );
//curl_setopt ($ch,CURLOPT_HTTPHEADER,$header );
curl_setopt ($ch,CURLOPT_COOKIEFILE,$cookie_file );
//curl_setopt ($ch,CURLOPT_PROXY,"202.194.101.150:80");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER,false );
curl_exec ($ch );

}
4471 次点击
所在节点    PHP
3 条回复
wtcoder
2015-09-13 04:10:36 +08:00
2.php 没有赋值 $cookie_file 。。。

不谢。。
eoo
2015-09-13 08:42:56 +08:00
@wtcoder 付了值一个样,问题不是这里。
eoo
2015-09-13 08:46:48 +08:00
@wtcoder 我去-_-||,还真是这样~~~ 该死的 UC 浏览器 缓存结果了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/220290

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX