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);  
?> 
+1

你有什么类型的错误? – Oyeme

+0

你好Oyeme,我没有得到一个错误。我没有收到我期望的数据,因为我认为Ajax按钮按下模拟不正确。 – Dennis

+0

嗯,你不能用curl来模拟ajax点击。用“httplifeheader”你可以看到params和wich方法用于ajax(POST或者GET)。 – Oyeme

尝试这样做:

 
curl_setopt($ch,CURLOPT_URL,$submit_url2); 
curl_setopt($ch,CURLOPT_POST,count($postdata)); 
curl_setopt($ch,CURLOPT_POSTFIELDS,$postdata); 

希望它可以帮助

+0

嗨Sudhir,不幸的是这并没有解决这个问题。任何其他想法? – Dennis

  1. 1.设置了CURLOPT_FOLLOWLOCATION为true卷曲脚本。

  2. 使用file_get_contents('your_url/WEBPAGE/pimplus/service');卷曲代码之后。(仅限GET方法)

+0

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

+0

尝试将此网址添加到浏览器栏中。我认为您的参数无效。 – Oyeme

+0

把它放在浏览器中正常工作 – Dennis