Проблема в том, что возникает ошибка - «Пустой ответ с сервера» появляется, когда я выполняю следующий код PHP, чтобы попытаться запросить некоторые данные с их сервера
Я пытался изменить данные, удалив часть 'http_build_query' вокруг строки. После этого запрос отправляется, но серверу не нравятся данные, поэтому я должен поставить 'http_build_query'.
Мне нужна программа для возврата другого сообщения вместо следующего
Empty reply from server
ИЛИ
{ "errorCode" : "errors.com.epicgames.common.oauth.unsupported_grant_type", "errorMessage" : "Unsupported grant type: null", "messageVars" : [ ], "numericErrorCode" : 1016, "originatingService" : "com.epicgames.account.public", "intent" : "prod", "error_description" : "Unsupported grant type: null", "error" : "unsupported_grant_type" }
=> Это происходит, когда нет http_build_query.
Минимальный код для воспроизведения проблемы:
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$data = http_build_query(array(
'grant_type' => "password",
'username' => "<EMAIL>",
'password' => "<PASSWORD>",
'includePerms' => true
));
/* Public Auth Client Token */
$headers = [
'Authorization: basic MzQ0NmNkNzI2OTRjNGE0NDg1ZDgxYjc3YWRiYjIxNDE6OTIwOWQ0YTVlMjVhNDU3ZmI5YjA3NDg5ZDMxM2I0MWE=',
'Content-type: application/x-www-form-urlencoded',
'Content-Length: 100',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://account-public-service-prod03.ol.epicgames.com/account/api/oauth/token");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data); //Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
/*curl_setopt($ch, CURLOPT_TIMEOUT, 5);*/
$server_output = curl_exec ($ch);
if (curl_error($ch)) {
$error_msg = curl_error($ch);
echo($error_msg);
}
curl_close ($ch);
print $server_output ;
?>
Ожидаемый результат - что-нибудь вместо двух уже показанных сообщений.