简体   繁体   中英

Replacing AJAX with cURL in php

i have some simple situation, but for me, it looks like very tough at the moment.

I am trying to scrap a web, which uses AJAX calls to fetch data.

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

has a form, after checking appropriate options, and pressing submit button. an ajax call is send and in response, data is printed on the page. there is NO JSON involved in this.

Using firebug and web developer tools, I am able to see referral URL, params, and cookie and other stuff involved, request header in Firebug looks like

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

can somebody please tell me, how can I CURL the page (in php)?

what data I MUST send in CURl?

OR i have to generate full request header?

what are the CURL options I must set for this?

Guide me please and thanks for the help..

You should just try to mimic the ajaxrequest.

The parameters you can mimic with:

$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);

You could start out by checking the phpmanual on curl

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM