1

以下是完整披露:我拥有访问我们公司第三方服务商网站之一的完全授权,我从该网站下载每日报告并执行某些重复性任务。我知道如何自动化 IE 来为我执行所有这些职责,但是登录网站需要输入验证码短语,坦率地说,我已经厌倦了输入验证码短语。

当我刷新页面时,验证码短语不会改变。我隔离了验证码图片的 URL,认为我可以(在 C# 中)使用 JpegBitmapDecoder 来获取验证码短语的图片,破解它(我已经编写了一些可以破解它的代码),然后导航到登录IE 中的页面并将结果放入。但是,服务器认为 JpegBitmapDecoder 和我的 IE 页面是不同的会话,因此它会抛出不同的验证码。

我的目标是找到一种方法来获取验证码图像(它只是一个 jpeg 图像),因为它出现在 IE 页面上。我想以这样的方式做到这一点,即 IE 实例不必是可见的(所以最好没有“屏幕捕获”方法)。我尝试了各种使用 HTML DOM 之类的方法,但永远无法获取图像的原始字节。如果可能的话,我也不想读取和解码数据包。这还能怎么做?当然,代表 jpeg 图像的字节存储在本地某处。

谢谢,

4

1 回答 1

1

您需要使用 JpegBitmapDecoder 请求发送会话 cookie 标头。

通常它是这样工作的:

你进入网站。如果您没有在浏览器 ( ssid=xxxxxxxxxxxxx) 中设置会话 cookie,服务器会通过在响应中发送 Set-Cookie 标头为您设置一个新会话。从现在开始,浏览器知道ssid它应该使用什么,并记住它。发送到该域的每个新请求都包含ssid与服务器第一次给出的值相匹配的 cookie 值。所以你必须接受它ssid并告诉 JpegBitmapDecoder 使用该集合发送请求ssid

于 2013-08-15T18:14:11.707 回答