Задать вопрос

Как в PHP отправить POST запрос?

Всем привет, на сайте с формы отправляются POST запросы в таком виде:


------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="username_list"

------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="icon"

0
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="subject"

test
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="addbbcode20"

100
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="message"

test
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="address_list[u][1858]"

to
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="lastclick"

1457728023
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="status_switch"

0
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="post"

ÐÑпÑавиÑÑ
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="attach_sig"

on
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="fileupload"; filename=""
Content-Type: application/octet-stream

------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="filecomment"

------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="creation_time"

1457728023
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw
Content-Disposition: form-data; name="form_token"

a3a037bdc5a8d890c9dc3aa6c320f8dab5e89e11
------WebKitFormBoundaryQ87MM4Gjaavnd3Sw--


Пишу скрипт который будет отправлять запросы, как сделать чтобы так же POST отправлялся?
  • Вопрос задан
  • 258 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 3
Pinsky
@Pinsky
Кофеиноникотиновая смесь в backend-код
Еще как вариант cUrl.
Ответ написан
Комментировать
master2016
@master2016
Всё нормально.
А зачем вам именно такое?
enctype=multipart/form-data говорит серверу, чтобы он не занимался кодировкой или перекодировкой полученной из формы(!) информации, а принимал ее как есть.
Ответ написан
Комментировать
@dexes56
Back-end engineer
Вопрос: Как в PHP отправить POST запрос?
Надеюсь я его верно понял.
Хост с www или без покажут заголовки, если что в них будет код 300 с копейками и в location будет видно куда Вас послали.

$host = 'www.example.com';
$data = urlencode('param1=a&param2=b&param3=25');

$headers = array();
$headers[] = 'POST /path/to/page HTTP/1.1';
$headers[] = 'Host: ' . $host;
$headers[] = 'User-Agent: PHP/' . phpversion();
$headers[] = 'Content-Type: text/html; charset=utf-8';
$headers[] = 'Content-length: ' . strlen($data);
$headers[] = 'Connection: close';
$headers[] = '';
$headers[] = '';

$content = implode("\r\n", $headers) . $data;
$result = '';

$sock = fsockopen($host, 80);
fputs($sock, $content);
while (!feof($sock))
    $result .= fread($sock, 32000);
fclose($sock);

echo $result;


Надеюсь мой ответ помог Вам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы