On Fri, 8 Jan 2021, Luca Olivetti via fpc-pascal wrote:
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.
Are you using https ?
Michael.
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal