我想尝试 POST REQUEST
然后检查响应头状态代码
200或302
import urllib
import urllib2
url = 'url' #url
values = {'name' : 'Michael Foord',
'location' : 'Northampton',
'language' : 'Python' } #post data
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
当我尝试
时response.getcode()
即使结果是302-FOUND,结果也是200 有什么想法吗?
答案 0 :(得分:1)
来自documentation for urllib2.urlopen
:
此函数返回一个类似文件的对象,另外还有三个 方法:
- geturl() - 返回检索到的资源的URL,通常用于确定是否遵循重定向
- info() - 以mimetools.Message实例的形式返回页面的元信息,例如标题(请参阅快速参考 HTTP标头)
- getcode() - 返回响应的HTTP状态代码。
所以你可以使用
获得状态status = response.getcode()
如果是重定向,urlopen
将自动跟随重定向。使用response.geturl()
查看它是否与您指定的网址匹配。