HTML 501使用Python请求时出错

2024-04-25 01:04:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个Python脚本来搜索火车票。所以我的第一步是在https://venta.renfe.com/vol/inicioCompra.do上搜索机票

我试过机械化,但它得到:

RuntimeError: maximum recursion depth exceeded while calling a Python object

我一打开网址,可能是因为那个网站的格式不好。在

所以下一个尝试是使用Python请求库,并使用与firebug相同的请求头。所以我的代码看起来像:

^{pr2}$

但是我收到501 HTML代码错误:未实现。我想我漏掉了一些东西,可能是饼干信息,但我不知道从哪里得到这些饼干信息,或者我是否遗漏了其他信息。在

有什么想法吗?在


Tags: 代码https脚本com信息do饼干runtimeerror
1条回答
网友
1楼 · 发布于 2024-04-25 01:04:31

我浏览了一下这个站点,发现您使用的是gethttp方法来检索数据,而实际需要的是POST。在

通常,当web服务器不理解客户端在请求中发送的HTTP动词时,http501作为对客户端的响应被发送。在

尝试更改代码:

r = requests.get('https://venta.renfe.com/vol/inicioCompra.do', data=payload, cookies=cookies, headers=headers)

像是

^{pr2}$

注意:我没有使用请求,因此您可能需要再次检查函数调用参数。有关快速参考,请参阅this链接。在

希望这有帮助-这里有一个我的头像在Chrome中可见的转储。请注意,标头中缺少内容类型和内容长度参数。还要注意cookie的内容。在

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Cache-Control:max-age=0 
Connection:keep-alive Content-Length:118 
Content-Type:application/x-www-form-urlencoded 

Cookie:target=_self; pagina=/vol/index.do; mensajeErrorSesion=null (null-U014); url_logout=/vol/index.do; tipoUsuario=N; JSESSIONID=0000W1mXLh9qNdE6l-qaEExFc9Y:15df38flv; org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=es_ES; s_cc=true; s_fid=5C053C8CEF00A17B-2B7E62472A63CF66; s_nr=1377790666229-New; gpv_p6=Venta%3APagina%20Principal; s_sq=renfeprod%3D%2526pid%253DVenta%25253APagina%252520Principal%2526pidt%253D1%2526oid%253Djavascript%25253AestacionesAccesibles%252528%252529%25253B%2526ot%253DA Host:venta.renfe.com Origin:https://venta.renfe.com Referer:https://venta.renfe.com/vol/inicioCompra.do 
    User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36

相关问题 更多 >