[fpc-pascal] fcl-web: Trequest.RemoteAddr is empty (sometimes)

Luca Olivetti luca at ventoso.org
Fri Jan 8 10:16:37 CET 2021


El 7/1/21 a les 16:59, Luca Olivetti via fpc-pascal ha escrit:
> El 7/1/21 a les 16:15, Luca Olivetti via fpc-pascal ha escrit:
>> Hello,
>>
>> I need to tailor the content based on the remote ip address.
>> I use the property RemoteAddr of a TRequest, but sometimes it is empty.
>> I see that it is a header, what I didn't see (yet, I'll trace through 
>> the code later) is if it is sent from the remote host or is it filled 
>> based on the ip address of the connection.
>> If the former, is there a more reliable way to obtain the connected ip 
>> address?
>> If the latter is it a bug?
> 
> I now see that it set in TFPHTTPConnection.ReadRequestHeaders:
> 
>     Result.RemoteAddress := SocketAddrToString(FSocket.RemoteAddress)
> 
> In turn SocketAddrToString returns an empty string if the address is 
> ipv6, but in my case it shouldn't be (the clients, firefox under windows 
> 10 uses the ipv4 address of the server and most of the time I get the 
> correct remote address, even from the same client).

Besides, it seems that the server only listens on ipv4.
I'm puzzled, I really can't see where this empty RemoteAddress could 
come from.

Bye
-- 
Luca


More information about the fpc-pascal mailing list