Вопросы

Всем привет, хочу узнать как работает http. А конкретно - понять почему при отправки GET/POST запроса на Laravel сервер он возвращается Response Code 6. Вот что ему там не нравится? Сначала возвращал данные в JSON, потом переписал и данные возвращается просто через die, в итоге что был response code 6, так и остался response code 6. На локалке(именно laravel сервер на локалке) работает +- топорно: Если просто отправляю запрос(без данных) уже сам laravel возвращается созданную мной ошибкой, типа нету данных. Если же я провожу подобную процедуру уже на самом хостинге, то просто уже http возвращает Response code 6. Что делать?

Поделиться сообщением


Ссылка на сообщение

3 ответа на этот вопрос

  • 0

@kop4ek предоставить код/часть кода, люди в интернете не провидцы...

Поделиться сообщением


Ссылка на сообщение
  • 0

@keyl

 

Route::post('/user/email', 'User/EmailController');

в файле api.php это строка отслеживает все post запросы по адресу .../api/user/email после чего кидает их на обработку на кортоллер EmailController

 

class EmailController extends Controller
{
    public function __invoke(Request $request)
    {
        http_response_code(400);
        header('Content-Type=text/html;charset=Windows-1251');
        if (!isset($_POST['email'])) {
            die("Err valid: email");
        }
        if (!isset($_POST['code'])) {
            die("Err valid: code");
        }
        $mail = mb_convert_encoding($_POST['email'], "UTF-8", "Windows-1251"); 
        $code = mb_convert_encoding($_POST['code'], "UTF-8", "Windows-1251");

        
        try {
            Mail::to($mail)->send(new CodeMail($code));
            http_response_code(200);
        } catch(\Exception $e) {
            http_response_code(500);
            die("Err smtp");
        }
        
        die("OK");
    }
}

раньше этот код выглядел более красиво, но сейчас он такой из-за постоянных правок с целью наладить нормальное общение между игровым сервером и api,
Здесь всё просто, берутся данные из полей email и code, их кодировка меняется на utf 8. если всё данные есть отправляется сообщение на почту, если нет сервер кидает ошибку err smtp с кодом 500.

но конкретно сейчас игровой сервер по сути вообще не делает запрос, он сразу кидает Response code 6, хотя если отправлять такой же запрос с каких нибудь сайтов по тестированию API всё проходит хорошо и сообщения отправляются. Вот я и спрашиваю: как именно работает http в pawn, чтобы наладить контакт между апи и самп сервером

Поделиться сообщением


Ссылка на сообщение
  • 0

@kop4ek нужно обратиться к документации. 

В HTTP нет кода ответа 6, его присылает не сервер, а обработчик ответа ядра SAMP. 

Это константа для ошибки HTTP_ERROR_MALFORMED_RESPONSE (подробнее тут - https://pawno-rus.ru/wiki/functions/ver03b/http_ru/

Что конкретно идет не так, ошибка не говорит. Попробуйте выполнить запрос в Postman (программа для ручной отправки HTTP-запросов) и посмотреть, что возвращает ваш сервер. 

Также учтите, что если ваш сервер работает по HTTPS (отправляемый адрес начинается с https://), то скорее всего проблема в этом, в PAWN нет поддержки шифрования, поддерживается только HTTP (URL должен начинаться с http://). 

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Sten Developer
      От Sten Developer
      Объясню всю ситуацию, пишу систему смерти игрока но она не работает. Решил по приколу написать туда обычный вывод текста SCM(playerid, COLOR_RED, "Вы умерли");
      Но однако после смерти текст не выводиться. Не работает абсолютно все. Кто знает как решить эту проблему?