Table of Contents
回复内容:
Home Backend Development PHP Tutorial curl 模拟用户登陆,但有验证码

curl 模拟用户登陆,但有验证码

Jun 06, 2016 pm 08:47 PM
curl php

我在用curl做一个用户模拟登陆,但是遇到了验证码。我在网上找了很多资料,但都没有解决问题。我想,要模拟登录的思路大概是这样子的:

1、获取页面中的表单,模拟填写登录名和密码;
2、从验证码图片中得到验证码,模拟填写验证码;(这一步获取验证码解决不了)
3、提交cookie和参数进行登录,保存本地cookie;

其中第2步遇到了问题,怎么会的验证码?使用图片识别库吗?还是下载让用户手工输入呢?或者还有其他的办法?

希望做过这类需求的朋友帮帮忙,谢谢~

回复内容:

我在用curl做一个用户模拟登陆,但是遇到了验证码。我在网上找了很多资料,但都没有解决问题。我想,要模拟登录的思路大概是这样子的:

1、获取页面中的表单,模拟填写登录名和密码;
2、从验证码图片中得到验证码,模拟填写验证码;(这一步获取验证码解决不了)
3、提交cookie和参数进行登录,保存本地cookie;

其中第2步遇到了问题,怎么会的验证码?使用图片识别库吗?还是下载让用户手工输入呢?或者还有其他的办法?

希望做过这类需求的朋友帮帮忙,谢谢~

火速解答

  1. 手工输入
  2. 花钱买在线的api在线打码
  3. ocr(不准确,简单的验证码可以,但总体上指望不大)

你可以去 www.uuwise.com 这样的网站,去了解一下验证码打码的黑技术

  • 如果手工打码,用PHP带Cookie取到验证码的值,再设Header("Content-Type: image/jpeg");吐出来, 这里你可以自己结合前端做些小的改善,例如用Ajax Long Poll或webSocket做个实时提醒的小东西,一旦产生新验证码,你的客户端叮咚提示你打验证码,打完,把内容传给CURL类,CURL再模拟你把验证码传给网站。 在PHP中这里有个很强悍的模拟库,叫做snoopy.class.php
  • 如果验证码比较简单(无扭曲、无干扰线、非中文、字符长度是定长、每个验证码字符边界距离等同、噪点小、字体不生僻或你能找到),也就是说,你觉得机器可以根据一定模式识别出来,那么自己用PHP写个OCR,或调用扩展,我不知道有没有OCR扩展你自己找找。自己写也简单,我记得是先把图片二值化,再把每个字母的区域拆分,计算黑色所占比例,和已有字体库对比,网上类似教程太多,自己实践。

http://blog.csdn.net/ugg/article/details/3972368
http://jingyan.baidu.com/article/456c463b66e5320a583144b7.html
http://www.poboke.com/study/php-verification-code-identification-primary.html

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

CakePHP Project Configuration CakePHP Project Configuration Sep 10, 2024 pm 05:25 PM

In this chapter, we will understand the Environment Variables, General Configuration, Database Configuration and Email Configuration in CakePHP.

PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian PHP 8.4 Installation and Upgrade guide for Ubuntu and Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

CakePHP Date and Time CakePHP Date and Time Sep 10, 2024 pm 05:27 PM

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP Working with Database CakePHP Working with Database Sep 10, 2024 pm 05:25 PM

Working with database in CakePHP is very easy. We will understand the CRUD (Create, Read, Update, Delete) operations in this chapter.

CakePHP File upload CakePHP File upload Sep 10, 2024 pm 05:27 PM

To work on file upload we are going to use the form helper. Here, is an example for file upload.

CakePHP Routing CakePHP Routing Sep 10, 2024 pm 05:25 PM

In this chapter, we are going to learn the following topics related to routing ?

Discuss CakePHP Discuss CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

CakePHP Creating Validators CakePHP Creating Validators Sep 10, 2024 pm 05:26 PM

Validator can be created by adding the following two lines in the controller.

See all articles