我尝试将数据发布到特定网址并获取响应并将其保存在curl文件中并且没有任何问题。 此网页发布数据,如果数据正确则显示响应网页,如果没有重定向到这样的网址:
http://example.com/url/foo/bar/error
我的代码是:
curl --fail --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36" --data "mydataexample" --referer "http://example.com/url/foo/bar" http://example.com/url/foo/bar --output test.html
但是当python中带有请求的代码总是status_code即使数据错误也可以[200]!没有正确的保存响应! 这是我的python代码:
import requests
data = 'myexampledata'
headers = { 'referer':'http://example.com/url/foo/bar' ,'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36' }
url = 'http://example.com/url/foo/bar'
r = requests.post(url,params=data,headers=headers)
# check headers and status_code for test if data is wrong...
print r.headers
print r.status_code
现在,如何编写一个python代码来解决这个问题并完全像curl命令一样工作?有任何建议请求或pycurl来解决它?