当前位置: 首页 > 面试题库 >

Python:是否从urllib2.urlopen调用获取HTTP标头?

太叔凌龙
2023-03-14
问题内容

拨打电话urllib2时是否提取整个页面urlopen

我只想读取HTTP响应标头而不获取页面。看起来像urllib2打开HTTP连接,然后随后获取实际的HTML页面……还是只是通过urlopen调用来开始缓冲页面?

import urllib2
myurl = 'http://www.kidsidebyside.org/2009/05/come-and-draw-the-circle-of-unity-with-us/'
page = urllib2.urlopen(myurl) // open connection, get headers

html = page.readlines()  // stream page

问题答案:

使用该response.info()方法获取标题。

从urllib2文档:

urllib2.urlopen(url [,data] [,timeout])

此函数返回带有两个其他方法的文件状对象:

  • geturl()—返回所获取资源的URL,通常用于确定是否遵循了重定向
  • info()—以httplib.HTTPMessage实例的形式返回页面的元信息,例如标头(请参阅HTTP标头快速参考)

因此,对于您的示例,请尝试逐步response.info().headers查找所需的结果。

请注意使用httplib的主要警告.HTTPMessage在python问题4773中进行了说明。



 类似资料:
  • 问题内容: 如何使用除urllib2.urlopen上的默认代理之外的其他用户代理下载网页? 问题答案: 这个问题中有示例代码,但是基本上你可以执行以下操作:(请注意User-Agent,RFC 2616第14.43节的大写形式。)

  • 问题内容: 我正在使用该方法打开URL并获取网页的标记。其中一些网站使用301/302重定向将我重定向。我想知道我已重定向到的最终URL。我怎么能得到这个? 问题答案: 调用返回的文件对象的方法。根据文档: —返回所获取资源的URL,通常用于确定是否遵循了重定向 例:

  • 问题内容: 好的,因此我可以使用访问HTTP ajax响应标头 但似乎没有日期,尽管它在那里: 而代码只显示了这一点: 这是ajax调用: 有没有办法可以在响应头中获取日期? 问题答案: 这有帮助:

  • 问题内容: 是否有内置的方法通过node.js获取特定地址的标头? 就像是, 会回来 问题答案: 此示例代码应工作:

  • 您只能使用HTTP HEAD请求报头,如中的选项。 冗长的HTML响应体在命令行中很难得到,所以我希望只得到标题作为POST请求的反馈。但是,头和岗是两种不同的方法。 如何使curl只显示POST请求的响应头?

  • 为什么在使用和 我要检查文件的大小,以字节为单位,将缓冲区分割为多个线程基于中的,但如果我没有文件的实际大小,以字节为单位,它将无法工作。. 只有给出了最接近但仍然不正确,而且它正在下载我不想要的内容。