php curl POST ничего не возвращает

#php #curl

#php #curl

Вопрос:

У меня есть следующий код php Curl, чтобы отправить форму и получить таблицы результатов

 <?php
function httpPost($url,$params)
{
  //echo 1;
  $postData = '';
   //create name value pairs seperated by amp;
   foreach($params as $k => $v) 
   { 
      $postData .= $k . '='.$v.'amp;'; 
   }
   rtrim($postData, 'amp;');

    $ch = curl_init();  

    curl_setopt($ch,CURLOPT_URL,$url);
   curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
   curl_setopt($ch,CURLOPT_HEADER, false); 
   curl_setopt($ch, CURLOPT_POST, count($postData));
   curl_setopt($ch, CURLOPT_VERBOSE, true); 
   curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);    
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);    

    $output=curl_exec($ch);

    curl_close($ch);

    //return $params;
    return $output;
}

$params = array(
        "form_hf_0"=>null,
        "searchMode:edit"=>"Births",
        "searchSwitch:birthContainer:regNumber:regNumber"=>null,
        "searchSwitch:birthContainer:regNumber:regYear"=>null,
        "searchSwitch:birthContainer:subjectName:familyName:edit"=>"smith",
        "searchSwitch:birthContainer:subjectName:givenName:edit"=>null,
        "searchSwitch:birthContainer:subjectName:otherNames:edit"=>null,
        "searchSwitch:birthContainer:fatherGivenName:edit"=>null,
        "searchSwitch:birthContainer:fatherOtherNames:edit"=>null,
        "searchSwitch:birthContainer:motherGivenName:edit"=>null,
        "searchSwitch:birthContainer:motherOtherNames:edit"=>null,
        "searchSwitch:birthContainer:dateOfEvent:range:edit"=>true,
        "searchSwitch:birthContainer:dateOfEvent:switchGroup:range:dateFrom:day"=>01,
        "searchSwitch:birthContainer:dateOfEvent:switchGroup:range:dateFrom:month"=>01,
        "searchSwitch:birthContainer:dateOfEvent:switchGroup:range:dateFrom:year"=>1788,
        "searchSwitch:birthContainer:dateOfEvent:switchGroup:range:dateTo:day"=>31,
        "searchSwitch:birthContainer:dateOfEvent:switchGroup:range:dateTo:month"=>12,
        "searchSwitch:birthContainer:dateOfEvent:switchGroup:range:dateTo:year"=>1913,
        "searchSwitch:birthContainer:district:edit"=>null,
        "search-button"=>"Search"
);

 $param1 = array("username"=>"sa","password"=>"1");
echo httpPost("https://lifelink.bdm.nsw.gov.au/lifelink/familyhistory/search?0-2.IFormSubmitListener-mainContent-form",$params);

?>
  

Ссылка на форму находится здесь: https://lifelink.bdm.nsw.gov.au/lifelink/ familyhistory /search?0
У меня ничего не напечатано.
Может кто-нибудь указал, где что-то не так?
Результат здесь http://ec2-54-213-181-25.us-west-2.compute.amazonaws.com/htdocs/lib/CURL/curl.php
Ничего в таблице, как обычный поиск с фамилией «смит», диапазон дат с 1788 по 1914 год.

Комментарии:

1. Да, формы Apache Wicket достаточно сложны, когда вы пишете код Java ;). Если серьезно, вы включили display_errors в своей среде разработки и установили error_reporting значение E_ALL ?

2. форма не моя, я просто хочу извлечь данные из этого поиска с помощью cURL

3. Вы можете включить параметр CURLOPT_VERBOSE для отладки того, что может пойти не так: curl_setopt($ch, CURLOPT_VERBOSE, true);

4. Я ввел эту строку и все равно не получил результата? какая-нибудь сложная вещь с этой формой?

5. Возможно, проблема в POST данных, которые вы отправляете. Как $params заполняется массив перед передачей в httpPost ?