壮飞 2017-08-24 12:03 采纳率: 100%
浏览 1253
已采纳

php识别验证码问题?

php怎么自动识别验证码?php怎么自动识别验证码?php怎么自动识别验证码?

  • 写回答

1条回答 默认 最新

  • john_yang11 2017-08-25 06:05
    关注

    PHP识别验证码(适合大部分验证码)

    <?php

    $ch= curl_init();

    $img='@D:\APMServ5.2.6\www\htdocs\ccb\ntef.png';//注意@,表示文件上传

    $data=array(

    'type'=>'recognize',

    'softID'=>'3',

    'softKey'=>'623527b90698a47ec626043dac04a0f1',

    '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.zhima365.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);

    验证码类型
    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊