使用请求不起作用的Python帖子

时间:2017-02-21 18:10:36

标签: python post request

以下代码不会引发任何错误。所以我无法调试它。它只是冻结在中间的某个地方。我做错了什么?

import requests

url = 'https://docs.google.com/forms/d/FAIpQLSez9DyP2JxxLLVFNfbAuLIDXOhS5T-75wlAF9JsSohiGQVy5Q/formResponse'
form_data = {
'entry.1979182813': '123456',
'entry.516943837':'rsamuel15@alustudent.com',
'entry.2118286285':'Randriakotonjanahary',
'entry.1614196389':'Tolotra',
'draftResponse':[],
'pageHistory':0}
session = requests.Session()
user_agent = {'Referer':'https://docs.google.com/forms/d/1FAIpQLSez9DyP2JxxLLVFNfbAuLIDXOhS5T-75wlAF9JsSohiGQVy5Q/viewform','User-Agent': "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.52 Safari/537.36"}
r = session.post(url, data=form_data, headers=user_agent)

print 'Done!!!';

1 个答案:

答案 0 :(得分:0)

看起来您尝试访问的网址存在问题。表单不存在,Web请求永远不会返回,因此您的代码只是等待响应。

通常,您应该使用超时来防止代码因远程服务器问题而冻结,然后相应地处理错误/异常。

例如,请求请求完成60秒:

session.post(url, data=form_data, headers=user_agent, timeout=60)