我们正在使用curl从第三方网络服务器获取回复。有一段代码片段:
$url = "https://book.some-site.com/cgi-bin/booking-form.cgi";
$uagent = "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14";
$ch = curl_init( $url );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_USERAGENT, $uagent);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch );
curl_close( $ch );
在我们点击其中一个页面的加载屏幕之前,一切正常。我们从网络服务器得到以下回复“...
提前致谢。
答案 0 :(得分:0)
通常,当网站有加载屏幕,然后显示结果而不将您重定向到新页面,这意味着他们通过Ajax加载结果。所以HTML页面加载的只是“嘿,它正在加载”消息,然后一些JavaScript运行从另一个页面下载实际内容。您需要调查他们的JS代码,然后加载他们通过Ajax加载的页面。
您可以考虑在Web浏览器的开发人员工具中启用“记录XMLHttpRequests”,以便更容易找出他们通过Ajax加载的页面。