首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python 2中如何发送HEAD HTTP请求?

在Python 2中如何发送HEAD HTTP请求?
EN

Stack Overflow用户
提问于 2008-09-20 06:38:39
回答 8查看 72.2K关注 0票数 116

我在这里尝试做的是获取给定URL的头部,这样我就可以确定MIME类型。例如,我希望能够看到http://somedomain/foo/是否会返回一个超文本标记语言文档或JPEG图像。因此,我需要弄清楚如何发送HEAD请求,这样我就可以读取MIME类型,而不必下载内容。有没有人知道一种简单的方法?

EN

回答 8

Stack Overflow用户

发布于 2010-01-15 18:50:53

urllib2可用于执行HEAD请求。这比使用httplib要好一点,因为urllib2会为您解析URL,而不是要求您将URL拆分为主机名和路径。

代码语言:javascript
复制
>>> import urllib2
>>> class HeadRequest(urllib2.Request):
...     def get_method(self):
...         return "HEAD"
... 
>>> response = urllib2.urlopen(HeadRequest("http://google.com/index.html"))

头文件可以像以前一样通过response.info()获得。有趣的是,您可以找到被重定向到的URL:

代码语言:javascript
复制
>>> print response.geturl()
http://www.google.com.au/index.html
票数 109
EN

Stack Overflow用户

发布于 2012-10-21 19:00:50

强制Requests方式:

代码语言:javascript
复制
import requests

resp = requests.head("http://www.google.com")
print resp.status_code, resp.text, resp.headers
票数 73
EN

Stack Overflow用户

发布于 2011-09-12 20:02:47

我认为Requests库也应该被提及。

票数 37
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/107405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档