蟒蛇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)    
+0

你想做什么? – lapinkoira

+0

'requests'默认为重定向。 –

您正在尝试通过http击中imgur,但imgur将其所有请求重定向至https

由于此重定向问题正在发生。

http模块本质上并不处理您需要处理重定向的重定向,其中requests模块自己处理这些重定向。

http模块上的文档包括在其第一句子“它通常不直接使用。”与requests不同,它不会执行301响应,并按照标题中的重定向操作。它会返回301,你必须自己处理。