我试图抓取一个网页,但是这个特定页面会继续返回if和else包含window.location.replace('web_address');
的语句,如果我执行echo $crawler->html();
那么它实际上将我的Web应用程序重定向到那个我真正试图抓住的新网页。
该页面是Salesforce。我不确定他们是否只是使用某种机制来为任何传入的页面请求使用重定向。我能够安全地登录,但我无法检索实际的页面内容。
是否有人知道这种做法或者以不同的方式做$client->request('GET', $link);
?
谢谢
(编辑:我在代码/抓取工具中获得的实际回报)
if (this.SfdcApp && this.SfdcApp.projectOneNavigator) {
SfdcApp.projectOneNavigator.handleRedirect('https://company.my.salesforce.com?ec=302&startURL=%2Fhome%2Fhome.jsp');
}
else if (window.location.replace) {
window.location.replace('https://company.my.salesforce.com?ec=302&startURL=%2Fhome%2Fhome.jsp');
}
else {
window.location.href ='https://company.my.salesforce.com?ec=302&startURL=%2Fhome%2Fhome.jsp';
}
我该如何解决这个问题?我是否可以以某种方式从Salesforce上的页面获取实际的页面内容,或者是否会刮掉/ goute / curl返回这样的重定向?
答案 0 :(得分:0)
我的解决方案是使用RESTful API。
Here's a super easy article how to do it using PHP.
您需要一个SalesForce Developer Edition帐户才能创建API密钥。