在使用curl

时间:2015-08-07 16:05:58

标签: php html curl

我们正在使用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 );

在我们点击其中一个页面的加载屏幕之前,一切正常。我们从网络服务器得到以下回复“...

我们正在处理您的请求...
您的搜索结果将很快显示。

”这是一个加载/等待屏幕。之后我们什么都没得到。 在加载屏幕后在浏览器中工作时,将显示实际响应。 任何想法如何获得实际响应并绕过加载屏幕?

提前致谢。

1 个答案:

答案 0 :(得分:0)

通常,当网站有加载屏幕,然后显示结果而不将您重定向到新页面,这意味着他们通过Ajax加载结果。所以HTML页面加载的只是“嘿,它正在加载”消息,然后一些JavaScript运行从另一个页面下载实际内容。您需要调查他们的JS代码,然后加载他们通过Ajax加载的页面。

您可以考虑在Web浏览器的开发人员工具中启用“记录XMLHttpRequests”,以便更容易找出他们通过Ajax加载的页面。