Как получить доступ к IP-адресу HTTP-запросов с помощью uWS?

#c #api #websocket #uwebsockets

Вопрос:

Я использую uWebSockets для выполнения проекта. Что мне нужно сделать, так это получить IP-адрес отправителя из входящих HTTP-запросов. В документации я вижу, что IP-адрес можно извлечь из веб-сайтов. У кого-нибудь есть идея отправить UWS на веб-сайты, чтобы получить данные, или есть другой способ их получить?

 #include <iostream>

#include "App.h"

int main() {

  /* Overly simple hello world app */

  uWS::App().get("/*", [](auto *res, auto *req) {

// **this is the place i need to access the ip address of the incoming HttpRequest**

    res->end("Hello world!");
  }).listen(3000, [](auto *listen_socket) {

    if (listen_socket) {
      std::cout << "Listening on port " << 3000 << std::endl;
    }
  }).

run();
  std::cout << "Failed to listen on port 3000" << std::endl;
} 
 

Ссылка на библиотеку: https://unetworking.github.io/uWebSockets.js/generated/interfaces/WebSocketBehavior.html

Комментарии:

1. библиотека написана на c , и я также использую c . (Я в некотором роде новичок)

2. Пожалуйста, отредактируйте свой вопрос с помощью репрезентативного образца приложения, которое у вас есть сейчас, и укажите место, где вам нужен IP-адрес отправителя.

Ответ №1:

Согласно документации, удаленный адрес является атрибутом ответа. Следовательно:

 std::string_view remote_ip = res->getRemoteAddressAsText();
 

Комментарии:

1. Пометка вопроса как принятого поможет другим найти эту тему в будущем.