请求库的错误请求错误 400

威廉K

我试图自动化将文本从网站传递到工具的过程,以便估计文本的阅读水平。但是,当我通过 post 方法传递 url 编码的文本时,我收到错误 400 bad request。

article = 'The quick brown fox jumps over the lazy dog.'
headers = ({'Host': 'auto-ilr.ll.mit.edu',
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language': 'en-US,en;q=0.5',
    'Accept-Encoding': 'gzip, deflate',
    'DNT': '1',
    'Referer': 'https://auto-ilr.ll.mit.edu/instant/',
    'Connection': 'keep-alive'})
s = requests.Session()
#s.mount('https://', SSLAdapter())
s.mount('https://', MyAdapter())
try:
    postdata = urllib.parse.urlencode({'Language': 'English', 'Text': article})
    soup = s.post('https://auto-ilr.ll.mit.edu/instant/summary3', data=postdata, headers = headers, verify=False)

我不确定有什么区别,但是在某些情况下,请求已经通过并且最终的汤变量以来自站点的文本结束,但是该文本显示站点没有正确处理我包含的文本.

妈妈

简单的东西,你不必编码datarequests它会为你:

article = 'The quick brown fox jumps over the lazy dog.'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0',  
    'Referer': 'https://auto-ilr.ll.mit.edu/instant/'  
}
postdata = {'Language': 'English', 'Text': article}
s = requests.Session()
soup = s.post('https://auto-ilr.ll.mit.edu/instant/summary3', data=postdata, headers = headers, verify=False)

print(soup.status_code)

此外,您不必发送所有标头,有时可能只是“User-Agent”或“Referer”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章