蟒蛇HTTP客户端模块错误/
问题描述:
我得到以下输出蟒蛇HTTP客户端模块错误/
不一致时301永久移动---当使用http.client
200 ---使用请求
URL处理“http://i.imgur.com/fyxDric.jpg”作为arg通过命令传递
我期望的是给我200状态ok响应。
这是身体
if scheme == 'http':
print('Ruuning in the http')
conn = http.client.HTTPConnection("www.i.imgur.com")
conn.request("GET", urlparse(url).path)
conn_resp = conn.getresponse()
body = conn_resp.read()
print(conn_resp.status, conn_resp.reason, body)
当使用请求
headers = {'User-Agent': 'Mozilla/5.0 Chrome/54.0.2840.71 Safari/537.36'}
response = requests.get(url, allow_redirects=False)
print(response.status_code)
答
您正在尝试通过http
击中imgur,但imgur将其所有请求重定向至https
。
由于此重定向问题正在发生。
http
模块本质上并不处理您需要处理重定向的重定向,其中requests
模块自己处理这些重定向。
答
的http
模块上的文档包括在其第一句子“它通常不直接使用。”与requests
不同,它不会执行301响应,并按照标题中的重定向操作。它会返回301,你必须自己处理。
你想做什么? – lapinkoira
'requests'默认为重定向。 –