2017-02-21 33 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)