2017-09-29 79 views
0

這裏是我的代碼: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

查看源代碼:http://www.americhoice.com/find_doctor/Ver2/results_doc.jsp?specialty=ORSU&docproducts=HOBD%2CHLOP&planNameDropDoc=HOBD%2CHLOP&plan=uhcwa&zip=98122&zipradius=10&findButton=FIND+DOCTOR&specialtyName=ORTHOPAEDIC+SURGERY

的問題似乎是,該請求不發送GET查詢參數正確

事情我都試過(不成功): 1)請求的完整URL(編碼)而不是使用PARAMS字典 2)使用urllib3庫,而不是請求庫

回答

0

首先,您提供的查看源網站返回404錯誤。

二,當您打印response.url時會得到什麼?它應該返回完整的url,包括連接的params

+0

啊,之前當我在同一個會話中出現時,現在當我重新啓動瀏覽器時,我得到一個空白屏幕(仍然是200請求)。必須要求一些會話數據 –

+0

@AmiyaDiwan因此,在發送GET請求之前,您可能需要登錄或其他東西?在這種情況下,您應該使用'requests.session'在不同的請求期間保持會話。 – Sraw

+0

謝謝@Sraw,那是修復! –