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
?