如何检查请求帖是否已成功发布?

时间:2017-03-28 14:07:24

标签: python http module python-requests


我正在使用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方法是检查它的好方法吗?

3 个答案:

答案 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'})