如何从 http 请求中获取客户端 IP

How to get client IP from http request?

本文关键字:获取 客户端 IP 请求 http      更新时间:2023-10-16

我正在使用 HTTP SERVER API 1.0。
并从远程机器获取请求(PHTTP_REQUEST)。我尝试使用 inet_ntop 从结构PHTTP_REQUEST获取地址 (HTTP_TRANSPORT_ADDRESS::p远程地址),但返回的值无效。如何从PHTTP_REQUEST获取客户端 IP?

解决方案:

std::string ipAddrv4(sockaddr *addr)  {
    String IP = "";
    IP = std::to_string(int(addr->sa_data[2] & 0xff));
    for(int i = 3; i < 6; i++) {
        IP += "." + std::to_string(int(addr->sa_data[i] & 0xff));
    }
    return IP;
}