Может ли кто-нибудь помочь в том, как я могу сделать, чтобы отправить данные из формы (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);
Я редактирую этот пост, чтобы показать пример того, что я использую. Я должен опубликовать код на первом месте.
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; }
Может ли кто-нибудь помочь в том, как я могу сделать, чтобы отправить данные из формы (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
и проверьте возвращаемое значение, если запрос был успешным или нет.
Вероятно, связанный с этим вопрос для этой части: Сделать curl следовать переадресации?