如何使用php获取ajax页面内容

如何使用php获取ajax页面内容,php,javascript,ajax,Php,Javascript,Ajax,我想从以下网站阅读赔率: 使用ajax动态加载赔率。源页面不包含赔率。是否有任何技术可以使用php获取此类页面的内容?如果数据url是固定的,您可以立即将其与一个简单的php单行代码一起使用: $data=json\u解码(文件\u获取\u内容('http://domain.com/data.json')); 如果“ajax”数据url不是固定的,那么首先需要获取hostpage(行上减去json_解码),并从中获取实际的数据链接 注意:如果该网站的作者正确地完成了他的工作,可能会有相应的措施

我想从以下网站阅读赔率:


使用ajax动态加载赔率。源页面不包含赔率。是否有任何技术可以使用php获取此类页面的内容?

如果数据url是固定的,您可以立即将其与一个简单的php单行代码一起使用:
$data=json\u解码(文件\u获取\u内容('http://domain.com/data.json'));

如果“ajax”数据url不是固定的,那么首先需要获取hostpage(行上减去json_解码),并从中获取实际的数据链接

注意:如果该网站的作者正确地完成了他的工作,可能会有相应的措施来解决这一问题,例如:检查引用者、浏览器的http头、会话cookie等。
这将使获取数据变得更加困难(从来都不是不可能的)

在这种情况下,您可以使用CURL或php(这里是doc)并模拟浏览器。
别忘了cookie处理(因为那个网站使用了它!!!我嗅到了流量)还有可能是推荐人(主机页面的url)。另外,不要忘记
X-request-With:XMLHttpRequest
标题


示例(针对您的案例):

从函数
refresh\u-locks
可以看到这些数据url是如何构建的(我清理了格式,因此很好阅读):

现在您知道了php脚本必须在主机页中搜索的隐藏输入字段id是什么,以便构建实时数据url


更新(根据您的评论)

“奇数”选项卡用于:

$("#period").val("fulltime");
refresh_odds();
$("#period").val(period);
refresh_odds();
“期间”选项卡用于:

$("#period").val("fulltime");
refresh_odds();
$("#period").val(period);
refresh_odds();
查看它如何返回到
刷新概率()


祝你好运

Ajax只是“发出HTTP请求”的一个代号。PHP可以发出HTTP请求。网站禁止你计划对这些数据做很多事情。所以可以使用,但只能用于个人用途。谢谢你的回答!使用file_get_contents,我将只获取默认加载的选项卡的内容(1X2)。我的问题是如何从其他选项卡(上/下、障碍等)获取赔率。因此,要从1x2选项卡获取赔率,我需要以下数据url:。我说得对吗?若要从其他选项卡获取赔率,我需要修改参数。更新了我的答案。请注意,它仍然可以归结为我的原始答案,即数据url是在哪里构建的。当我使用提到的数据url作为file_get_contents的参数时,我会收到以下消息“未能打开流:HTTP请求失败!”。提供的答案是正确的。我使用GitaarLAB提供的CURL和tips(会话cookie从主机页获得,主机页url用作参考,X-request-With-header模拟ajax查询)从所有选项卡中获取赔率。非常感谢。