Как получить результаты формы с другого сайта с помощью GET или cURL - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь использовать запрос cURL или GET для получения результатов из формы, отправленной на веб-сайт компании.

Я пытаюсь получить результаты статуса рейса с сайта aa.com с помощью сценария php.

Форма находится на https://www.aa.com/homePage.do >> Статус рейса (поиск по номеру и дате рейса), и когда вы вводите данные в форму, вы получаете статус рейса, а URL-адрес в окне адреса выглядит следующим образом:

https://www.aa.com/travelInformation/flights/status/detail?search=AA|1698|2019,1,23&ref=search

Где 1698 - номер рейса, а 2019,1,23 - дата в формате URL после выбора среды, 23 января в раскрывающемся списке.

Iпытался использовать оба файла file_get_contents для страницы, такие как:

    $flight_data = file_get_contents("https://www.aa.com/travelInformation/flights/status/detail?search=AA|$flight|$formatted_date|&ref=search");

, где $ flight и $ отформатированная дата заменяются на ввод данных с моего сайта.

    $flight_data = file_get_contents("https://www.aa.com/travelInformation/flights/status/detail?search=AA|1698|2019,01,23|&ref=search");

Когда это обрабатывается иЯ печатаю результат на экране, он НЕ содержит информацию о статусе рейса, он содержит только некоторые общие выходные данные.

Когда я использую cURL, чтобы попытаться получить данные:

    $target = 'https://www.aa.com/travelInformation/flights/status/lookup';

$agent = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5";

//traverse array and prepare data for posting (key1=value1)
foreach ( $post_data as $key => $value) {
    $post_items[] = $key . '=' . $value;
}

//create the final string to be posted using implode()
$post_string = implode ('&', $post_items);

//create cURL connection
$ch = curl_init();

//set options
curl_setopt($ch, CURLOPT_URL, $target);
curl_setopt($ch, CURLOPT_REFERER, $ref);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

//set data to be posted
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
curl_setopt($ch, CURLOPT_POST, true);

//perform our request
$flight_data = curl_exec($ch);

//show information regarding the request
print_r(curl_getinfo($ch));
echo curl_errno($ch) . '-' .
    curl_error($ch);

//close the connection
curl_close($ch);*/

print $flight_data;

Я получаю то же самоеобщий вывод.

Я ожидаю получить исходный код страницы, как если бы я действительно зашел на aa.com и ввел информацию о рейсе в их форму.Затем я хочу проанализировать этот результат, чтобы получить все рейсы с заданным номером рейса на указанную дату.

Заранее спасибо.

...