Python的请求API requests.get()使用参数不工作调用按预期(响应忽略PARAMS)
问题描述:
这里是我的代码:Python的请求API requests.get()使用参数不工作调用按预期(响应忽略PARAMS)
import requests
find_doctors_url = 'http://www.americhoice.com/find_doctor/Ver2/results_doc.jsp'
payload ={"specialty":"ORSU","docproducts":"HOBD,HLOP","planNameDropDoc":"HOBD,HLOP","plan":"uhcwa","zip":"98122","zipradius":"10","findButton":"FIND DOCTOR","specialtyName":"ORTHOPAEDIC SURGERY"}
response = requests.get(find_doctors_url,params=payload)
print(response.url)
print(response.content)
当我打印response.content,所有我收到的是:
<!-- NEAADR0179 -Anil Kumar Vutikuri *** End-->
<!--BEGIN SETTING HEADERS TO NO CACHE-->
<!--END SETTING HEADERS TO NO CACHE-->
<!--SET SESSION VALUES FROM URL PARAMETERS-->
<!--END SET SESSION VALUES FROM URL PARAMETERS-->
这是当你浏览到您收到回应: 查看源代码:http://www.americhoice.com/find_doctor/Ver2/results_doc.jsp
不过,我正在寻找,当你浏览到由response.url生成的URL返回收到完整的HTML
的问题似乎是,该请求不发送GET查询参数正确
事情我都试过(不成功): 1)请求的完整URL(编码)而不是使用PARAMS字典 2)使用urllib3库,而不是请求库
答
首先,您提供的查看源网站返回404错误。
二,当您打印response.url
时会得到什么?它应该返回完整的url,包括连接的params
。
啊,之前当我在同一个会话中出现时,现在当我重新启动浏览器时,我得到一个空白屏幕(仍然是200请求)。必须要求一些会话数据 –
@AmiyaDiwan因此,在发送GET请求之前,您可能需要登录或其他东西?在这种情况下,您应该使用'requests.session'在不同的请求期间保持会话。 – Sraw
谢谢@Sraw,那是修复! –