2017-02-21 32 views
1

以下代码不会引发任何错误。所以我无法调试它。它只是在中间的某处冻结。我究竟做错了什么?使用请求不起作用的Python帖子

import requests 

url = 'https://docs.google.com/forms/d/FAIpQLSez9DyP2JxxLLVFNfbAuLIDXOhS5T-75wlAF9JsSohiGQVy5Q/formResponse' 
form_data = { 
'entry.1979182813': '123456', 
'entry.516943837':'[email protected]', 
'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!!!'; 

回答

0

它看起来像你试图访问的URL有一个问题。表单不存在,Web请求永远不会返回,所以您的代码只是等待响应。

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

例如,给定请求60秒,以完成:

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