Переслать многостраничный POST на другую страницу - PullRequest
0 голосов
/ 11 августа 2011

Хорошо, у меня есть два сайта, мы назовем их A и B. Сайт A имеет форму из нескольких частей с вложенным файлом; Сайт B имеет похожую форму (которую я не собираюсь использовать) и страницу обработки, которую он отправляет. В соответствии с политикой происхождения браузера, я добавляю «страницу прокси» на сайт B, на которую я могу публиковать сообщения с сайта A. Затем странице прокси необходимо «переслать» данные на страницу обработки и получить ответ, который я получу. использовать для генерации JSONP для отправки обратно на сайт A.

Обычно я использую сеанс или просто генерирую и автоматически отправляю форму на странице прокси, но я не уверен, как это сделать, так как она включает тег ввода файла. Я думаю, что смогу использовать что-то вроде этого: http://www.php.net/manual/en/function.httprequest-send.php

Есть идеи?

1 Ответ

6 голосов
/ 11 августа 2011

Это было бы относительно тривиально с curl.

$post_data = $_POST; // copy over the non-file post data
foreach($_FILES as $key => $filedat) {
   $post_data[$key] = '@' . $filedat['tmp_name'];  // add the uploaded files to the new field list
}

$ch = curl_init('http://siteb.com/proxy_page')
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$res = curl_exec($ch);

Это, несомненно, потребует некоторых настроек / исправлений, но этого должно быть достаточно, чтобы начать работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...