您好,欢迎来到微智科技网。
搜索
您的当前位置:首页5、urllib.request.urlopen()

5、urllib.request.urlopen()

来源:微智科技网

官方文档链接:

 

urllib.request定义了以下函数:

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

参数

打开url链接,可以是字符串或者是Request对象。

data必须是一个定义了向服务器所发送额外数据的对象,或者如果没有必要数据的话,就是None值。可以查阅Request获取详细信息。

url.request模块在HTTP请求中使用了HTTP/1.1,并且包含了Connection:close头部。

可选的timeout参数指定阻止诸如连接尝试等操作的超时时间(以秒为单位)(如果未指定,将使用全局默认超时设置)。这实际上只适用于HTTP,HTTPS和FTP连接。

 如果指定了context,则它必须是描述各种SSL选项的ssl.SSLContext实例。 有关更多详细信息,请参阅HTTPSConnection。

cadefault参数被忽略。

返回值:

该函数总是返回一个可以作为context manager使用的对象,并且具有方法,例如;

geturl()-返回检索的资源的URL,通常用于确定是否遵循重定向;

info()-以email.message_from_string()实例的形式返回页面的元信息(如headers)(可快速参考HTTP Headers);

getcode()-返回响应的HTTP状态码。

 

对于HTTP和HTTPS URL,此函数返回稍微修改的http.client.HTTPResponse对象。 除上述三种新方法之外,msg属性还包含与reason属性(服务器返回的原因短语)相同的信息,而不是HTTPResponse文档中指定的响应标头。

对于由传统URLopener和FancyURLopener类明确处理的FTP,文件和数据URL和请求,此函数返回一个urllib.response.addinfourl对象。

在协议错误上引发URLError。

请注意,如果没有处理请求的handler,则可能返回None(尽管默认安装的全局OpenerDirector使用UnknownHandler来确保永不发生这种情况)。

另外,如果检测到代理设置(例如,如果设置了诸如http_proxy的* _proxy环境变量),则默认安装ProxyHandler,并确保通过代理处理请求。

来自Python 2.6及更早版本的遗留urllib.urlopen函数已停止使用; urllib.request.urlopen()对应于旧的urllib2.urlopen。 通过使用ProxyHandler对象可以获得通过将字典参数传递给urllib.urlopen完成的代理处理。

posted on 2018-03-07 20:51 阅读( ...) 评论( ...)

转载于:https://www.cnblogs.com/zwb8848happy/p/8525252.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务