栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python仅使用urllib2获取标头

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python仅使用urllib2获取标头

首先,您的代码包含几个错误:

  1. 根据您的每个请求,

    getheadersonly
    安装一个新的全局urlopener,然后将其用于后续的
    urllib2.urlopen

  2. 您进行两个HTTP请求以获取响应的两个不同属性。

  3. 的实现

    urllib2.HTTPRedirectHandler.http_error_302
    并不是那么简单,而且我不了解它最初如何防止重定向。

基本上,您应该了解每个处理程序都安装在打开程序中以处理某种响应。

urllib2.HTTPRedirectHandler
是否可以将某些HTTP代码转换为重定向。如果您不希望重定向,请不要在重定向器中添加重定向处理程序。如果您不想打开ftp链接,请不要添加
FTPHandler
,等等。

urllib2.HTTPHandler()
要做的就是创建一个新的打开器并将其添加到其中,将请求自定义为“
HEAD”请求,然后将请求的实例传递给打开器,读取属性,然后关闭响应。

class HeadRequest(urllib2.Request):    def get_method(self):        return 'HEAD'def getheadersonly(url, redirections=True):    opener = urllib2.OpenerDirector()    opener.add_handler(urllib2.HTTPHandler())    opener.add_handler(urllib2.HTTPDefaultErrorHandler())    if redirections:        # HTTPErrorProcessor makes HTTPRedirectHandler work        opener.add_handler(urllib2.HTTPErrorProcessor())        opener.add_handler(urllib2.HTTPRedirectHandler())    try:        res = opener.open(HeadRequest(url))    except urllib2.HTTPError, res:        pass    res.close()    return dict(pre=res.pre, headers=res.info(), finalurl=res.geturl())


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/646290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号