gpt4 book ai didi

python - 在 Python 请求模块中处理自动重定向

转载 作者:行者123 更新时间:2023-12-02 16:39:08 27 4
gpt4 key购买 nike

我正在使用一个网站来解码一些验证码图像。我通过 session.post 发送一些图像,但服务器需要大约 2-3 秒,然后给出一个 302 消息,这基本上是一个重定向消息(我在浏览器中看到),但是当我尝试使用 Python 请求做同样的事情时模块,它给了我一条 200 消息,这意味着它成功地将消息发送到服务器。

我在这里想念什么?我应该添加什么才能取回 302 响应代码,该代码将包含用于进一步访问页面的 url。附上示例代码和示例图像。 image here

import requests
session = requests.Session()
headers = {'Content-type': 'multipart/form-data', 'X-Requested-With': 'XMLHttpRequest',\
'Referer':'http://www.to-text.net/',\
'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'}

data = {'action':"convert", 'ocr_lang':'eng', 'filename':"img_0.jpg"}

r1 = session.post('http://www.to-text.net/', files = data, headers = headers, allow_redirects=True)

print r1

我知道请求可以处理自动重定向,但是当我尝试访问相同的
print r1.history

它给了我一个空列表。

这是我在网站上使用表单时在 Chrome 控制台中看到的内容:

enter image description here
enter image description here

最佳答案

你应该 不是 正在设置 Content-type header ;留给 requests模块,因为它需要在该 header 中传达多部分边界。

您实际上也没有发送任何文件数据。大概你想发送图像文件:

import requests
session = requests.Session()
headers = {
'Referer':'http://www.to-text.net/',
'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'
}

with open('img_0.jpg', 'rb') as imgfile:
data = {
'action': "convert",
'ocr_lang': 'eng',
'doc_file': ('img_0.jpg', imgfile, 'image/jpeg'),
}

r1 = session.post('http://www.to-text.net/', files=data, headers=headers)

POST a Multipart-Encoded File section的快速入门文档。

您可能还需要发送初始 GET请求获取 cookie 集,并且服务器可能仍会对您尚未提供的请求 header 进行其他检查。您必须对这些 header 进行试验,服务器可以根据您发送的确切 header 和请求正文自由地以任何他们喜欢的方式响应。

关于python - 在 Python 请求模块中处理自动重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30685923/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com