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

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);

    验证码类型
    图片说明

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题