CURL帖子值不起作用
使用下面的脚本,我试图登录到网页,然后执行一个通常会被按钮后面的Ajax脚本触发的帖子。登录工作正常,但我无法模拟Ajax操作。感谢您的帮助CURL帖子值不起作用
<?php
ini_set('max_execution_time', 0);
$submit_url = "LOGINURL";
$submit_url2 = "OVERVIEWURL";
$postdata = array('action.id' => urlencode('al_regid_162'),
'action.component.id' => urlencode('form_aanvraag_filter'),
'action.section.id' => urlencode('section1'));
$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC) ;
curl_setopt($curl, CURLOPT_USERPWD, "USERNAME:PASSWORD");
curl_setopt($curl, CURLOPT_SSLVERSION,3);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_URL, $submit_url);
$data = curl_exec($curl);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($curl, CURLOPT_URL, $submit_url2);
$data = curl_exec($curl);
print($data);
curl_close($curl);
?>
尝试这样做:
curl_setopt($ch,CURLOPT_URL,$submit_url2); curl_setopt($ch,CURLOPT_POST,count($postdata)); curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata);
希望它可以帮助
嗨Sudhir,不幸的是这并没有解决这个问题。任何其他想法? – Dennis
1.设置了CURLOPT_FOLLOWLOCATION为true卷曲脚本。
使用
file_get_contents('your_url/WEBPAGE/pimplus/service');
卷曲代码之后。(仅限GET方法)
if(!file_get_contents('http:// WEBPAGE/pimplus/service/aanvraagoverzicht?action.id = al_regid_162&action.component.id = form_aanvraag_filter&action.section.id = section1&field.aanvraag.filter.status = open&field.aanvraag.filter.sortering = AANVRAAGID')){echo“Error”; }把它放在CURL代码后面会导致错误。 – Dennis
尝试将此网址添加到浏览器栏中。我认为您的参数无效。 – Oyeme
把它放在浏览器中正常工作 – Dennis
你有什么类型的错误? – Oyeme
你好Oyeme,我没有得到一个错误。我没有收到我期望的数据,因为我认为Ajax按钮按下模拟不正确。 – Dennis
嗯,你不能用curl来模拟ajax点击。用“httplifeheader”你可以看到params和wich方法用于ajax(POST或者GET)。 – Oyeme