urllib3 return 404 未找到现有网站

urllib3 return 404 not found for existing website

Different result by urllib and urllib3

我可以通过将地址复制到我的 chrome 和 urllib 以及 returns 页面源代码中来打开网页。我只是不明白为什么 urllib3 在其他一切正常时返回 404 not found on this webpage。

原代码如下:

url = 'http://www.webmd.com/drugs/2/condition-12862/depression%20associated%20with%20bipolar%20disorder'
import urllib3
http = urllib3.PoolManager()
r = http.request('GET',url)
r.data

import urllib.request
req = urllib.request.Request(url=url)
with urllib.request.urlopen(req) as f:
    print(f.read().decode('utf-8'))

我的猜测,你在代理后面调用,urllib 使用系统代理(如果你在 linux - http_proxy 环境变量上),对于 urllib3 你需要使用 urllib3 library