模拟登陆 急需输入验证码
模拟登陆 需要输入验证码
最近好奇,想做下知乎网的模拟登陆。但是遇到了需要输入验证码的问题
我多次尝试着在浏览器上进行登陆操作,掌握了一些规律。
如果需要输入验证码,在获取雁验证码的时候,它会下发 cookie,每次重新获取验证码吗,相应的cookie就改变一次
然后我用curl 模拟登陆的时候,已经将验证码的cookie传回去了,但是每次都是提示验证码错误。
它需要提交的参数最多就4个呀。像_xsrf可以不用提交,也可以通过
具体的代码实现和 这个链接差不多。用它的方法也是不行的
http://www.cnblogs.com/echo-something/archive/2012/07/18/2597831.html
<br><?php <br />/**<br> * @author 追逐__something<br> * @version $id<br> */<br>define('SCRIPT_ROOT',dirname(__FILE__).'/');<br>$act = trim(isset($_REQUEST['act']) ? $_REQUEST['act'] : "");<br>switch($act)<br>{<br> case 'login':<br> // 获取验证码<br> $code = trim($_REQUEST['code']);<br> <br> // $loginParams为curl模拟登录时post的参数<br>// $loginParams['act'] = 'login';<br> $loginParams['password'] = '123123';<br> $loginParams['email'] = [email protected]';<br> $loginParams['captcha'] = $code;<br> <br> // $cookieFile 为加载验证码时保存的cookie文件名 <br> $cookieFile = SCRIPT_ROOT.'cookie.tmp';<br> <br> // $targetUrl curl 提交的目标地址<br> $targetUrl = 'http://www.zhihu.com/login';<br> <br> // 参数重置<br> $content = curlLogin($targetUrl, $cookieFile, $loginParams);<br> <br> $targetUrl = "http://www.zhihu.com";<br> <br> echo vget($targetUrl);<br> break;<br> case 'authcode':<br> // Content-Type 验证码的图片类型<br> header('Content-Type:image/png');<br> showAuthcode('http://www.zhihu.com/captcha.gif');<br> exit;<br> break;<br>}<br><br>/**<br> * 模拟登录<br> * @param string $url 提交到的地址<br> * @param string $cookieFile 保存cookie的文件<br> * @param string $loginParams 提交时要post的参数<br> * @return string $content 返回的内容<br> */<br>function curlLogin($url, $cookieFile, $loginParams)<br>{<br> $header = array(<br> 'Accept:*/*',<br> 'Accept-Encoding:gzip,deflate,sdch',<br> 'Accept-Language:zh-CN,zh;q=0.8,zh-TW;q=0.6',<br> 'Cache-Control:no-cache',<br> 'Connection:keep-alive',<br> 'Content-Type:application/x-www-form-urlencoded; charset=UTF-8',<br> 'Host:www.zhihu.com',<br> 'Origin:http://www.zhihu.com',<br> 'Referer:http://www.zhihu.com',<br> 'X-Requested-With:XMLHttpRequest'<br> );<br> <br> $curl = curl_init(); //启动一个curl会话<br> curl_setopt($curl, CURLOPT_URL, $url); //要访问的地址<br> curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置HTTP头字段的数组<br> curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); //对认证证书来源的检查<br> curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); //从证书中检查SSL加密算法是否存在<br> curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.22 Safari/537.36'); //模拟用户使用的浏览器<br> curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); //使用自动跳转<br> curl_setopt($curl, CURLOPT_AUTOREFERER, 1); //自动设置Referer<br> curl_setopt($curl, CURLOPT_POST, 1); //发送一个常规的Post请求<br> curl_setopt($curl,CURLOPT_POSTFIELDS, $loginParams); //提交查询信息<br> curl_setopt($curl,CURLOPT_COOKIEFILE, $cookieFile); //同时发送Cookie<br> curl_setopt($curl, CURLOPT_TIMEOUT, 30); //设置超时限制防止死循环<br> $result = curl_exec($curl); //执行一个curl会话<br> <br> if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == '200') {<br> $headSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);<br> }<br> <br> $this->_cookies($result);<br> <br> curl_close($curl); <div class="clear"> </div>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

“你的组织要求你更改PIN消息”将显示在登录屏幕上。当在使用基于组织的帐户设置的电脑上达到PIN过期限制时,就会发生这种情况,在该电脑上,他们可以控制个人设备。但是,如果您使用个人帐户设置了Windows,则理想情况下不应显示错误消息。虽然情况并非总是如此。大多数遇到错误的用户使用个人帐户报告。为什么我的组织要求我在Windows11上更改我的PIN?可能是您的帐户与组织相关联,您的主要方法应该是验证这一点。联系域管理员会有所帮助!此外,配置错误的本地策略设置或不正确的注册表项也可能导致错误。即

Windows11将清新优雅的设计带到了最前沿;现代界面允许您个性化和更改最精细的细节,例如窗口边框。在本指南中,我们将讨论分步说明,以帮助您在Windows操作系统中创建反映您的风格的环境。如何更改窗口边框设置?按+打开“设置”应用。WindowsI转到个性化,然后单击颜色设置。颜色更改窗口边框设置窗口11“宽度=”643“高度=”500“>找到在标题栏和窗口边框上显示强调色选项,然后切换它旁边的开关。若要在“开始”菜单和任务栏上显示主题色,请打开“在开始”菜单和任务栏上显示主题

默认情况下,Windows11上的标题栏颜色取决于您选择的深色/浅色主题。但是,您可以将其更改为所需的任何颜色。在本指南中,我们将讨论三种方法的分步说明,以更改它并个性化您的桌面体验,使其具有视觉吸引力。是否可以更改活动和非活动窗口的标题栏颜色?是的,您可以使用“设置”应用更改活动窗口的标题栏颜色,也可以使用注册表编辑器更改非活动窗口的标题栏颜色。若要了解这些步骤,请转到下一部分。如何在Windows11中更改标题栏的颜色?1.使用“设置”应用按+打开设置窗口。WindowsI前往“个性化”,然

您是否在Windows安装程序页面上看到“出现问题”以及“OOBELANGUAGE”语句?Windows的安装有时会因此类错误而停止。OOBE表示开箱即用的体验。正如错误提示所表示的那样,这是与OOBE语言选择相关的问题。没有什么可担心的,你可以通过OOBE屏幕本身的漂亮注册表编辑来解决这个问题。快速修复–1.单击OOBE应用底部的“重试”按钮。这将继续进行该过程,而不会再打嗝。2.使用电源按钮强制关闭系统。系统重新启动后,OOBE应继续。3.断开系统与互联网的连接。在脱机模式下完成OOBE的所

任务栏缩略图可能很有趣,但它们也可能分散注意力或烦人。考虑到您将鼠标悬停在该区域的频率,您可能无意中关闭了重要窗口几次。另一个缺点是它使用更多的系统资源,因此,如果您一直在寻找一种提高资源效率的方法,我们将向您展示如何禁用它。不过,如果您的硬件规格可以处理它并且您喜欢预览版,则可以启用它。如何在Windows11中启用任务栏缩略图预览?1.使用“设置”应用点击键并单击设置。Windows单击系统,然后选择关于。点击高级系统设置。导航到“高级”选项卡,然后选择“性能”下的“设置”。在“视觉效果”选

在Windows11上的显示缩放方面,我们都有不同的偏好。有些人喜欢大图标,有些人喜欢小图标。但是,我们都同意拥有正确的缩放比例很重要。字体缩放不良或图像过度缩放可能是工作时真正的生产力杀手,因此您需要知道如何对其进行自定义以充分利用系统功能。自定义缩放的优点:对于难以阅读屏幕上的文本的人来说,这是一个有用的功能。它可以帮助您一次在屏幕上查看更多内容。您可以创建仅适用于某些监视器和应用程序的自定义扩展配置文件。可以帮助提高低端硬件的性能。它使您可以更好地控制屏幕上的内容。如何在Windows11

屏幕亮度是使用现代计算设备不可或缺的一部分,尤其是当您长时间注视屏幕时。它可以帮助您减轻眼睛疲劳,提高易读性,并轻松有效地查看内容。但是,根据您的设置,有时很难管理亮度,尤其是在具有新UI更改的Windows11上。如果您在调整亮度时遇到问题,以下是在Windows11上管理亮度的所有方法。如何在Windows11上更改亮度[10种方式解释]单显示器用户可以使用以下方法在Windows11上调整亮度。这包括使用单个显示器的台式机系统以及笔记本电脑。让我们开始吧。方法1:使用操作中心操作中心是访问

curl和Pythonrequests都是发送HTTP请求的强大工具。虽然curl是一种命令行工具,可让您直接从终端发送请求,但Python的请求库提供了一种更具编程性的方式来从Python代码中发送请求。将curl转换为Pythonrequestscurl命令的基本语法如下所示:curl[OPTIONS]URL将curl命令转换为Python请求时,我们需要将选项和URL转换为Python代码。这是一个示例curlPOST命令:curl-XPOSThttps://example.com/api
