urlopen。(url)和requests.get(url)之间的区别

时间:2018-06-08 16:38:46

标签: python python-requests urllib urlopen

我的代码:

r = requests.get('http://www.pythonchallenge.com/pc/def/banner.p')
t = urlopen('http://www.pythonchallenge.com/pc/def/banner.p')

print(r)

'Response [200]'

print(t)

'http.client.HTTPResponse object at 0x0430A370'

为什么requests.get只返回对象实例(在这种情况下是响应代码),而urlopen返回实际对象?

我的问题是:如何使用请求返回对象而不是响应代码? (我想用pickle去内容化)

1 个答案:

答案 0 :(得分:3)

您将print返回的内容与对象本身混淆。 requests.get 获取对象。当您调用requests函数时,r.status_code的开发人员决定返回print。他们本可以返回任何内容:r.textr.raw。听起来你期待看到后者。

如果您有兴趣,可以参考以下有关开发人员如何定义打印返回内容的更多信息:How to print a class or objects of class using print()?