我正在使用python请求模块来处理我正在抓取的特定网站上的请求。我对HTTP请求相当新,但我确实理解基础知识。这是情况。有一个我要提交的表单,我通过使用来自请求模块的post方法来实现:
# I create a session
Session = requests.Session()
# I get the page from witch I'm going to post the url
Session.get(url)
# I create a dictionary containing all the data to post
PostData = {
'param1': 'data1',
'param2': 'data2',
}
# I post
Session.post(SubmitURL, data=PostData)
有没有办法检查数据是否已成功发布? .status_code方法是检查它的好方法吗?
答案 0 :(得分:7)
如果您从发布时获取结果,则可以检查状态代码:
result = Session.post(SubmitURL, data=PostData)
if result.status_code == requests.codes.ok:
# All went well...
答案 1 :(得分:0)
我是Python新手,但我认为最简单的方法是:
if response.ok:
# whatever
因为所有2XX代码都是成功的请求,而不仅仅是200
答案 2 :(得分:0)
我正在使用以下代码:
import json
def post():
return requests.post('http://httpbin.org/post', data={'x': 1, 'y': 2})
def test_post(self):
txt = post().text
txt = json.loads(txt)
return (txt.get("form") == {'y': '2', 'x': '1'})