<?php/*** @author 追逐__something* @version $id*/
define('SCRIPT_ROOT',dirname(__FILE__).'/');$act = trim($_REQUEST['act']);switch($act)
{case 'login'://获取验证码$code = trim($_REQUEST['code']);//$loginParams为curl模拟登录时post的参数$loginParams['act'] = 'login';$loginParams['password'] = '111111';$loginParams['username'] = 'wlpadmin';$loginParams['vcode'] = $code;//$cookieFile 为加载验证码时保存的cookie文件名$cookieFile = SCRIPT_ROOT.'cookie.tmp';//$targetUrl curl 提交的目标地址$targetUrl = 'http://local.xx.com/admin/login.php';//参数重置$content = curlLogin($targetUrl, $cookieFile, $loginParams);echo $content;break;case 'authcode'://Content-Type 验证码的图片类型header('Content-Type:image/png');showAuthcode('http://local.xx.com/admin/vcode.php?r=0.03192671708666017');exit;break;
}/*** 模拟登录* @param string $url 提交到的地址* @param string $cookieFile 保存cookie的文件* @param string $loginParams 提交时要post的参数* @return string $content 返回的内容*/
function curlLogin($url, $cookieFile, $loginParams)
{$ch = curl_init($url);curl_setopt($ch,CURLOPT_COOKIEFILE, $cookieFile); //同时发送Cookiecurl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch,CURLOPT_POST, 1);curl_setopt($ch,CURLOPT_POSTFIELDS, $loginParams); //提交查询信息$content = curl_exec($ch);curl_close($ch);return $content;
}/*** 加载目标网站图片验证码* @param string $authcode_url 目标网站验证码地址*/
function showAuthcode( $authcode_url)
{$cookieFile = SCRIPT_ROOT.'cookie.tmp';$ch = curl_init($authcode_url);curl_setopt($ch,CURLOPT_COOKIEJAR, $cookieFile); //把返回来的cookie信息保存在文件中curl_exec($ch);curl_close($ch);
}?>
<iframe src="?act=authcode" style='width: 100px; height:40px ' frameborder=0 ></iframe>
<form>
<input type="hidden" name="act" value="login">
<input type="text" name="code" />
<input type="submit" name="submit" >
</form>

转载于:https://www.cnblogs.com/fyy-888/p/5520386.html

php_curl模拟登录有验证码实例相关推荐

  1. python爬虫登录有验证码_大神教你用Python爬虫模拟登录带验证码网站

    爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法.python提供了强大的url库,想做到这个并不难.这里以登录学校教务系统为例,做一个简单的例子. 首先得明白cookie的作用, ...

  2. python 网站发送验证码_Python爬虫模拟登录带验证码网站

    爬取网站时经常会遇到需要登录的问题,这是就需要用到模拟登录的相关方法.python提供了强大的url库,想做到这个并不难.这里以登录学校教务系统为例,做一个简单的例子. 首先得明白cookie的作用, ...

  3. python爬虫实战(四)--------豆瓣网的模拟登录(模拟登录和验证码的处理----scrapy)...

    在利用scrapy框架爬各种网站时,一定会碰到某些网站是需要登录才能获取信息. 这两天也在学习怎么去模拟登录,通过自己码的代码和借鉴别人的项目,调试成功豆瓣的模拟登录,顺便处理了怎么自动化的处理验证码 ...

  4. python爬虫token_Python入门:模拟登录(二)或注册之requests处理带token请求

    转自http://blog.csdn.net/foryouslgme/article/details/51822209 首先说一下使用Python模拟登录或注册时,对于带token的页面怎么登录注册模 ...

  5. Java爬虫——人人网模拟登录

    人人网登录地址:http://www.renren.com/ 此处登录没有考虑验证码验证码. 首先对登录方法进行分析 有两种方法. 一)在Elements中分析源码 发现登录点击后的事件是http:/ ...

  6. Python网络爬虫实战(四)模拟登录

    对于一个网站的首页来说,它可能需要你进行登录,比如知乎,同一个URL下,你登录与未登录当然在右上角个人信息那里是不一样的. (登录过) (未登录) 那么你在用爬虫爬取的时候获得的页面究竟是哪个呢? 肯 ...

  7. 解决selenium + chromedriver模拟登录被淘宝反爬

    解决selenium + chromedriver模拟登录被淘宝反爬 问题 ​使用 selenium + webdriver 模拟淘宝登录时,出现滑动验证码反爬,尝试程序模拟滑动滑块,以及在程序打开的 ...

  8. python抢课脚本 验证码_用Python实现模拟登录正方教务系统抢课

    最近学校开始选课,但是如果选课时间与自己的事情冲突,这时候就可以使用Python脚本自助抢课,抢课的第一步即是模拟登录,需要模拟登录后保存登录信息然后再进行操作. 而且整个流程是比较简单,这是因为正方 ...

  9. 模拟登录QQ判断是否需要验证码

    老生常谈的问题了,在模拟登录之前,判断是否需要验证码: https://ssl.ptlogin2.qq.com/check?uin=QQ号码&appid=1003903&js_ver= ...

  10. 爬虫模拟登陆手机验证码_爬虫入门到精通-headers的详细讲解(模拟登录知乎)...

    本文章属于爬虫入门到精通系统教程第七讲 直接开始案例吧. 本次我们实现如何模拟登陆知乎. 1.抓包 1. 首先打开知乎登录页 知乎 - 与世界分享你的知识.经验和见解 注意打开开发者工具后点击&quo ...

最新文章

  1. python使用psutil获取系统(Windows Linux)所有运行进程信息实战:CPU时间、内存使用量、内存占用率、PID、名称、创建时间等;
  2. chrome取消安全模式
  3. union--求集合的并集
  4. [转] 书摘及访谈:Aptana RadRails,一个Rails的集成开发环境
  5. js的数据类型,以及如何判断它们是哪种类型
  6. python pandas 读取excel 去重某一列_Python中Pandas读取修改excel操作攻略(代码示例)...
  7. 多长的企业视频最受欢迎?小于60秒
  8. 神舟笔记本电源管理软件_笔记本电脑长期不用充不上电了?原来问题就出在这儿...
  9. 子集和问题 算法_贪婪算法有多好?Submodularity告诉你
  10. html转换pdf中文失败,解决html导出pdf中文乱码问题的正确姿势
  11. 倒计时 4 天!年度开发者盛会 Unite Shanghai 2019 全日程揭晓(附表)
  12. Layui 个人博客网站源码 (带运行文档)
  13. 2016hctf writeup
  14. android手机界面分区,Android手机fastboot 刷机命令(示例代码)
  15. 网传固态硬盘因为TRIM指令一经删除无法恢复是以讹传讹
  16. 树莓派建立无线热点AP (方便直接连接遥控机器人/摄像头)
  17. c++多线程detach函数用法的实例
  18. 通过调用rundll32.exe来打开一些系统特定文件
  19. 计算机老师教师节祝福语,送给老师教师节祝福语
  20. C#调用Outlook发送邮件

热门文章

  1. 二十五、JAVA多线程(一、理论知识)
  2. Feign 简介与使用入门,请求、响应压缩,日志记录
  3. IDEA(2018)导入项目报错解决方案
  4. 第二阶段冲刺(第十天)
  5. docker(4):coreos+docker+rancher真厉害
  6. WCF 4.0路由服务Routing Service
  7. Windows via C/C++ 学习(6)内核对象
  8. Codeforces Round #580 (Div. 1)(CF1205)A-E
  9. gcc/g++/make/cmake/makefile/cmakelists的恩恩怨怨
  10. Spring Boot 集成undertow作为web容器分析