0
我正在嘗試編寫一個爲我登錄到網站並下載消息的Python腳本。我正在使用「請求」庫,併成功登錄會話爲什麼python請求獲得與Ajax不同的結果
該網站使用js/Ajax來下載消息頁面加載後的實際消息客戶端,並使用分頁來實現無限的消息列表效果。
郵件頁面url的格式爲https://website.com/messages
。該網頁包含一個Ajax調用retrives的形式交往是這樣的:
$.ajax({
url: '/messages?mailbox=' + mailbox + optional params
}).done(function(data) {
urlLazyLoading = data.next_page_url;
$.each(data, function(i, v) {
//from this point on, data for each message can be
//accessed using the v object as such:
//v.sender, v.date, v.last_message, etc
//and the <ul> element is populated with '<li>'s
但是,當我嘗試訪問相同的URL在python(我的loggedIn後)這樣:
session.get('https://website.com/messages?mailbox=inbox')
代替用消息數據獲取json響應,我得到相同/原始消息頁面。
在上面的代碼中傳遞給ajax的唯一參數是url
,所以通過defult它應該只是做一個簡單的GET請求,這正是我正在做的。
是否有可能代碼中的其他地方ajax被設置爲默認爲POST或有其他一些非默認設置?
或者是服務器以某種方式檢測到一個請求來自ajax,另一個來自會話?也許使用user-agent
?