在 php 中用 cURL 替换 AJAX

Replacing AJAX with cURL in php

本文关键字:替换 AJAX cURL 中用 php      更新时间:2023-09-26

我有一些简单的情况,但对我来说,目前看起来非常艰难。

我正在尝试废弃一个使用 AJAX 调用来获取数据的网络。

http://www.economia-nmx.gob.mx/normasmx/index.nmx

有一个表单,在检查适当的选项后,按submit按钮。 发送 AJAX 调用,作为响应,数据打印在页面上。 这不涉及 JSON。

使用 firebug 和 Web 开发人员工具,我能够看到引荐 URL、参数和 cookie 以及其他涉及的东西,Firebug 中的请求标头看起来像

Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language en-us,en;q=0.5
Connection  keep-alive
Cookie  JSESSIONID=cYJtPcYGYs2dM12QXgD3vGfnnQFVX3cTzfFbYLwWBkmXv4m47jh1!924382716
Host    www.economia-nmx.gob.mx
Referer http://www.economia-nmx.gob.mx/normasmx/index.nmx
User-Agent  Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko/20100101 Firefox/11.0
consultasvarias.nmx http://www.economia-nmx.gob.mx/normasmx/consulta.nmx

有人可以告诉我,我如何卷发页面(在 PHP 中)?

我必须在CURl中发送哪些数据?

或者我必须生成完整的请求标头?

我必须为此设置哪些 CURL 选项?

请指导我,感谢您的帮助..

你应该尝试模仿ajaxrequest。

您可以模拟的参数:

$data = array('name' => 'Foo', 'id'=>'Bar'); 
curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

你可以从检查 curl 上的 phpmanual 开始