Как отправить запрос GET с помощью C ++? - PullRequest
0 голосов
/ 23 октября 2018

У меня есть URL-адрес API:

https://ru.api.riotgames.com/lol/summoner/v3/summoners/by-name/NikolayDark16?api_key=RGAPI-b2971736-9178-4559-a0d9-7d166093865c

Когда я пытаюсь сделать запрос GET, ответом является 302 Moved Temporarily.

Мой запрос:

std::string write_buf = "GET /lol/summoner/v3/summoners/by-name/NikolayDark16?api_key=RGAPI-b2971736-9178-4559-a0d9-7d166093865c HTTP/1.1\r\n"
    "Host: www.riotgames.com\r\n"
    "Connection: close\r\n"
    "\r\n";

Если я использую Host www.ru.api.riotgames.com, ответ будет 400 bad request.

1 Ответ

0 голосов
/ 24 октября 2018

Ответ 302 - это перенаправление на другой URL.Просто повторно отправьте тот же запрос по URL-адресу, указанному в заголовке Location ответа.

Что касается ответа 400, правильное имя хоста, которое нужно указать в заголовке Host запроса, равно ru.api.riotgames.com (нет www.).спереди).И не забудьте про : после Host.

std::string write_buf = "GET /lol/summoner/v3/summoners/by-name/NikolayDark16?api_key=RGAPI-b2971736-9178-4559-a0d9-7d166093865c HTTP/1.1\r\n"
    "Host: ru.api.riotgames.com\r\n"
    "Connection: close\r\n"
    "\r\n";
...