我想抓取一个网站,以便提取XHTML数据以保存为PHP中的变量。使用cURL POST方法的问题
网站使用AJAX这意味着我正在寻求以下使用搜索串一个XMLHttpRequest返回数据如http://website.com/ajax.php?mid=2&pid=4
我试图设置从器和Firefox(其略有不同),并得到的请求头包括他们尝试curl_setop()
和stream_context_create()
选项与file_get_contents()
,但数据仍然没有被返回。当我在Chrome中检查脚本的请求标题时,它显示的方法为GET
,即使它已设置为POST
。它为cURL和流上下文都这样做。
该网站不需要登录,但我注意到它发送会话cookie作为请求的一部分,我也包含在HTTP请求中无济于事。
还有一点需要注意的是,从请求头中删除Content-Length
值会立即返回一个空白页,而在超时前保持加载大约一分钟,但这可能是无关紧要的。
我的问题是有其他人有使用HTTP标头的PHP和AJAX请求的经验,为什么我看到GET
请求时,我已指定此为POST
?
提前感谢任何见解。
如果没有看到您尝试过的实际代码,我们无法真正给出见解。 – Jon
请分享您的代码 –
记得使用curl_setopt($ handle,CURLOPT_POST,1)。此外,服务器可能需要数据作为POST数据而不是URL中的参数,请使用CURLOPT_POSTFIELDS。 – anttir