当前位置:首页 » 编程语言 » php验证码curl

php验证码curl

发布时间: 2022-06-13 14:15:56

php curl模拟登陆两次请求验证码的问题,登陆时请求一次验证码并获取cook

取得验证码cookie 然后带着cookie post登录 再保存cookie

❷ php一个curl提交验证码错误的问题,除积分外100大洋转账

没太看明白原理,也太费劲,不过测试了一下,发现你的问答题的答案是错的。你的代码测试一下就提示验证码错误,然后就打开了一个文章提交页面,这个时候你看一下问答题的答案那个下拉列表,并不是
<option value="1">1</option>
而是
<option value="3126.18.17%%%%2">1</option>,所以如果结果为1,你的输入框中需要录入3126.18.17%%%%2
所以你提交的答案必然是错的了,OK?

❸ 怎样用php中的curl模拟登陆

/**
* 模拟登录
*/

//初始化变量
$cookie_file = "tmp.cookie";
$login_url = "http://xxx.com/logon.php";
$verify_code_url = "http://xxx.com/verifyCode.php";

echo "正在获取COOKIE...\n";
$curlj = curl_init();
$timeout = 5;
curl_setopt($curl, CURLOPT_URL, $login_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_file); //获取COOKIE并存储
$contents = curl_exec($curl);
curl_close($curl);

echo "COOKIE获取完成,正在取验证码...\n";
//取出验证码
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $verify_code_url);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$img = curl_exec($curl);
curl_close($curl);

$fp = fopen("verifyCode.jpg","w");
fwrite($fp,$img);
fclose($fp);
echo "验证码取出完成,正在休眠,20秒内请把验证码填入code.txt并保存\n";
//停止运行20秒
sleep(20);

echo "休眠完成,开始取验证码...\n";
$code = file_get_contents("code.txt");
echo "验证码成功取出:$code\n";
echo "正在准备模拟登录...\n";

$post = "username=maben&pwd=hahahaha&verifycode=$code";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);
$result=curl_exec($curl);
curl_close($curl);

//这一块根据自己抓包获取到的网站上的数据来做判断
if(substr_count($result,"登录成功")){
echo "登录成功\n";
}else{
echo "登录失败\n";
exit;
}

❹ 我想用PHP的curl做一个带验证码的模拟登陆,可是我不太清楚header中应包含什么

模拟浏览器登陆应用开发,最关键的地方是突破登陆验证。CURL技术不只支持http,还支持https。区别就在多了一层SSL加密传输。
如果是要登陆https网站,php记得要支持openssl。还是先拿一个例子来分析。

❺ php用curl模拟登录带验证码的教务系统一直出现验证码错误

一般是多次请求吧,第一次请求生成并获取cookie,第二次再把cookie添加到首部,把相关信息一起提交过去。

❻ php 使用curl时怎么增加一个auth的验证

这个需要自己添加,可以time和自定义key做验证码

❼ 如何判断php中curl模拟登陆是否成功

/**
* 模拟登录
*/

//初始化变量
$cookie_file = "tmp.cookie";
$login_url = "";
$verify_code_url = "";

echo "正在获取COOKIE...\n";
$curlj = curl_init();
$timeout = 5;
curl_setopt($curl, CURLOPT_URL, $login_url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($curl,CURLOPT_COOKIEJAR,$cookie_file); //获取COOKIE并存储
$contents = curl_exec($curl);
curl_close($curl);

echo "COOKIE获取完成,正在取验证码...\n";
//取出验证码
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $verify_code_url);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$img = curl_exec($curl);
curl_close($curl);

$fp = fopen("verifyCode.jpg","w");
fwrite($fp,$img);
fclose($fp);
echo "验证码取出完成,正在休眠,20秒内请把验证码填入code.txt并保存\n";
//停止运行20秒
sleep(20);

echo "休眠完成,开始取验证码...\n";
$code = file_get_contents("code.txt");
echo "验证码成功取出:$code\n";
echo "正在准备模拟登录...\n";

$post = "username=maben&pwd=hahahaha&verifycode=$code";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);
$result=curl_exec($curl);
curl_close($curl);

//这一块根据自己抓包获取到的网站上的数据来做判断
if(substr_count($result,"登录成功")){
echo "登录成功\n";
}else{
echo "登录失败\n";
exit;
}

❽ php curl 模拟登陆的问题验证码怎么破

网络技术飞速发展,红黑较量也是日新月异,我们要想取得长久的胜利,就不能得过且过,想绕过一切验证码,是不可能实现的。

建议:
用curl模拟登陆页面获取验证码图片,手工录入

当然了,如果后台是你自己的就不要验证码就OK了,但这是个 个例,不是泛指,希望能帮到你。

❾ php curl获取正方教务系统验证码乱码问题

估计是因为'http://jwxt.jit.e.cn/CheckCode.aspx返回的就是图片。不是html文本
你要获取图片可以直接在自己网页用img标签,不需要curl
比如:<img src="http://jwxt.jit.e.cn/CheckCode.aspx"/>

❿ php 识别验证码

PHP识别验证码(适合大部分验证码)
<?php
$ch= curl_init();
$img='@D:\APMServ5.2.6\www\htdocs\ccb\ntef.png';//注意@,表示文件上传
$data=array(
'type'=>'recognize',
'softID'=>'3',
'softKey'=>'',
'userName'=>'test',
'passWord'=>'123456',
'imagePath'=>$img,
'codeType'=>'1040',//验证码类型,见下面图片
'timeout'=>'60',
'remark'=>'',
'log'=>'0',
'upload'=>'开始识别'
);
// $ch =
curl_init();
//
curl_setopt($ch, CURLOPT_URL, $url);
//
curl_setopt($ch, CURLOPT_POST, 1);
//
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//
curl_exec($ch);
//
curl_close($ch);

//
这段代码提交出去的Content-Type到底是multipart/form-data还是application/x-www-form-urlencoded呢?我抓包研究了一下,发现Content-Type的类型取决于$data的数据类型。

//
如果$data是字符串,则Content-Type是application/x-www-form-urlencoded。

//
如果$data是k=>v的数组,则Content-Type是multipart/form-data
$url='http://ff.ma365.com/ZMDemo_PHP/Demo.php';
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
$result=
curl_exec($ch);
echo$result;
curl_close($ch);

热点内容
微信什么资料都没怎么找回密码 发布:2024-05-19 05:35:34 浏览:906
填志愿密码是什么 发布:2024-05-19 05:30:23 浏览:317
城堡争霸自动掠夺脚本 发布:2024-05-19 05:22:06 浏览:203
asp编程工具 发布:2024-05-19 05:20:36 浏览:142
insertpython 发布:2024-05-19 05:12:26 浏览:243
androidant编译 发布:2024-05-19 05:04:11 浏览:987
按键脚本优化 发布:2024-05-19 04:59:57 浏览:751
怎么下载压缩包 发布:2024-05-19 04:47:47 浏览:9
二嫂水仙ftp 发布:2024-05-19 04:47:42 浏览:160
云隙服务器下载 发布:2024-05-19 04:33:22 浏览:315