PHP отправляет GET вместо POST - PullRequest
0 голосов
/ 17 декабря 2018

Я должен опубликовать некоторые данные, но на тот же адрес есть некоторые функции GET и POST.Мой PHP отправляет GET вместо POST.

$apiURL = 'https://myAPI.com.br/api';

$data = http_build_query(array('postdata' => 10));
$uriRequest = $apiURL.'/main';

$options = array(       
    "ssl"=>array(
    "verify_peer"=>false,
    "verify_peer_name"=>false,
    ),
    'https' => array(
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'method'  => 'POST',
        'content' => $data
    ),
);
$context  = stream_context_create($options);
$result = file_get_contents($uriRequest, false, $context);
if ($result === FALSE) {
    return var_dump($result);
}
return var_dump($result);

Я знаю, что часть ssl небезопасна, но это просто для целей прототипирования.

Я не могу получить PHP для POST intesteadGET на адрес 'https://myAPI.com.br/api/main'.

1 Ответ

0 голосов
/ 17 декабря 2018

Судя по http://php.net/manual/de/function.stream-context-create.php#74795, правильный способ создания потокового контекста для защищенной страницы https:

<?php
$context_options = array (
        'http' => array (
            'method' => 'POST',
            'header'=> "Content-type: application/x-www-form-urlencoded\r\n"
                . "Content-Length: " . strlen($data) . "\r\n",
            'content' => $data
            )
        );

Как видите, мы используем 'http' => array... вместо https.

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