如何在不创建其他会话的情况下从网页jpeg图像中获取字节

本文关键字:jpeg 网页 图像 字节 获取 情况下 创建 会话 其他 | 更新日期: 2023-09-27 18:27:59

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

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

我的目标是找到一种方法来获取captcha图像(它只是一个jpeg图像),因为它出现在IE页面上。我想这样做,IE实例不必是可见的(所以最好没有"截屏"方法)。我已经尝试了使用HTMLDOM之类的各种方法,但始终无法获得图像的原始字节。如果可能的话,我也不想读取和解码数据包。否则怎么办?当然,表示jpeg图像的字节存储在本地某个地方。

谢谢,

如何在不创建其他会话的情况下从网页jpeg图像中获取字节

您需要将会话cookie头与JpegBitmapDecoder请求一起发送。

一般来说,它是这样工作的:

您进入网站。若浏览器(ssid=xxxxxxxxxxxxx)中并没有设置会话cookie,服务器会在响应中发送set-cookie头,为您设置一个新会话。从现在起,浏览器知道应该使用什么ssid,并记住它。发送到该域的每个新请求都包含与服务器第一次给出的值匹配的ssid cookie值。因此,您需要使用ssid并告诉JpegBitmapDecoder使用该ssid集发送请求。