Как отправить данные POST с использованием PHP и cURL? - PullRequest
5 голосов
/ 06 августа 2011

Может кто-нибудь помочь с тем, как я могу отправить данные из формы (POST) на URL-адрес с использованием PHP и cURL?

Используя cURL, все, что я хочу сделать, это отправить данные, я не хочу, чтобы меня перенаправляли и не получали какой-либо вывод (HTML или TEXT), просто отправляйте данные.

Было бы неплохо узнать, были ли данные отправлены успешно или нет для обработки ошибок или перенаправления.

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

Спасибо всем.

Пример кода:

$sub_req_url ="http://domain.com/util/request";
$ch = curl_init($sub_req_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS,  "id=64&session=1&k=B0EA8835E&firstname=Name&lastname=Lastname&company=Company%20Name&email=me@gmail.com&work_phone=123-456-7890");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);

$resp = curl_exec($ch);
curl_close($ch);

Я редактирую этот пост, чтобы показать пример того, что я использую. Я должен опубликовать код на первом месте.

Ответы [ 2 ]

6 голосов
/ 06 августа 2011
function post($requestJson) {

    $postUrl = $this->endpoint."?access_token=".$this->token;

    //Get length of post
    $postlength = strlen($requestJson);

    //open connection
    $ch = curl_init();

    //set the url, number of POST vars, POST data
    curl_setopt($ch,CURLOPT_URL,$postUrl);
    curl_setopt($ch,CURLOPT_POST,$postlength);
    curl_setopt($ch,CURLOPT_POSTFIELDS,$requestJson);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $response = curl_exec($ch);

    //close connection
    curl_close($ch);

    return $response;
}
0 голосов
/ 06 августа 2011

Может ли кто-нибудь помочь с тем, как я могу отправить данные из формы (POST) на URL с помощью PHP и cURL?

Пожалуйста, найдите на сайте и / или опубликуйте свойкод, как вы это делаете.Похоже, что выполнение фактического запроса POST не является вашей конкретной проблемой.Если это так, взгляните на этот связанный вопрос: Передача значений $ _POST с помощью cURL и php curl: мне нужен простой пост-запрос и повторное получениепример страницы

Используя cURL, все, что я хочу сделать, это отправить данные, я не хочу, чтобы меня перенаправляли и не получали какой-либо вывод (HTML или TEXT) простоотправьте данные.

Предполагая, что $ch - это ваш дескриптор скручивания:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);

Значение параметров описано на странице руководства PHP .Затем выполните curl_exec и проверьте возвращаемое значение, если запрос был успешным или нет.

Вероятно, связанный вопрос для этой части: Сделать завиток в соответствии с перенаправлениями?

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