Пытаясь отправить запрос POST, используя php, независимо от того, что я делаю, я получаю «HTTP ERROR 500» - PullRequest
0 голосов
/ 03 марта 2020

Чтобы сделать запрос HTTP, кто-то предложил мне попробовать PHP и дал мне кусок кода для работы:

$url = 'https://example.com/dashboard/api';
$data = array('to' => PHONE_NUMBER, 'from' => SENDER_ID, 'message' => TEXT, 'email' => EMAIL, 'api_secret' => SECRET, 'unicode' => BOOLEAN, 'id' => IDENTIFIER);

$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'method'  => 'POST',
        'content' => http_build_query($data)
    )
);
$context  = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) { /* Handle error */ }

var_dump($result);

Итак, я взял код, отредактировал поля, которые мне нужны , вставил его в файл .php, загрузил на мой веб-сервер (работает PHP 5.6), а затем при попытке запустить файл .php, я получаю HTTP ERROR 500.

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

Ответы [ 2 ]

0 голосов
/ 04 марта 2020
$url = 'https://domainname.com/dashboard/api';
$header = [
    'Content-type: application/x-www-form-urlencoded',
];
$params = array('to' => PHONE_NUMBER, 'from' => SENDER_ID, 'message' => TEXT, 'email' => EMAIL, 'api_secret' => SECRET, 'unicode' => BOOLEAN, 'id' => IDENTIFIER);
$c = curl_init();
curl_setopt($c, CURLOPT_URL,$url);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $params);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($c, CURLOPT_HTTPHEADER, $header);
curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
$res = curl_exec($c);
var_dump($res);
0 голосов
/ 03 марта 2020
      $url = 'https://domainname.com/dashboard/api';
      $params = array('to' => PHONE_NUMBER, 'from' => SENDER_ID, 'message' => TEXT, 'email' => EMAIL, 'api_secret' => SECRET, 'unicode' => BOOLEAN, 'id' => IDENTIFIER);      
      $query_content = http_build_query($params);
      $context = stream_context_create([
          'http' => [
              'header'  => [
                   'Content-type: application/x-www-form-urlencoded',
                   'Content-Length: ' . strlen($query_content)
              ],
          'method'  => 'POST',
          'content' => $query_content
        ]
      ]);
      $result = file_get_contents($url, false, $context);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...