我正在尝试使用cURL从外部网站检索信息,但是该网站返回空白页。
我仔细查看了Chrome的网络功能,我认为我找到了问题,但我不知道如何解决。如下图所示,服务器将发布到特定的URL,然后重定向到另一个显示最终结果的URL。
这是我现在拥有的代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://www.politie.nl/aangifte-of-melding-doen/controleer-handelspartij.html?_hn:type=action&_hn:ref=r199_r1_r1_r1");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"url=&query=test");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec ($ch);
curl_close ($ch);
该网站使用荷兰语,但是我要检查的是特定的电子邮件,电话号码或银行帐号,以查看它们是否参与了任何骗局,因此我希望获得用户的相关信息。在网站上提交表单后获得。
此表单位于此网站上:https://www.politie.nl/aangifte-of-melding-doen/controleer-handelspartij.html
我希望有人能帮助我,并感谢您的宝贵时间。
答案 0 :(得分:0)
正如您对问题的评论之一所指出的那样,提交表单后会发生重定向。不仅如此-表单提交请求和重定向后的请求之间的信息传递是通过会话进行的,会话ID存储在cookie中,因此,为了获得结果,您还必须启用cookie。
// follow redirects
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// store and send cookies
$tmpfname = dirname(__FILE__).'/cookie.txt';
curl_setopt($ch, CURLOPT_COOKIEJAR, $tmpfname);
curl_setopt($ch, CURLOPT_COOKIEFILE, $tmpfname);