I use Request.UserHostAddress
, can only get IPv4 address, how to get IPv6 address of a visitor?
I assume you're talking about HttpRequest.UserHostAddress
. It will always return the address that was used to connect to you. If the request was made over IPv6, it will return their IPv6 address; if the request was made over IPv4, it will return their IPv4 address.
You should start by investigating why the request is being made over IPv4. And the folks at http://serverfault.com will probably be of more help on that.
An IPv4 address is translated to an IPv6 address by placing the 4 octets of the IPv4 address into the rightmost 4 octets of the IPv6 address.
After inserting the 4 octets of the IPv4 address into the rightmost 4 octets of the IPv6 address, the remaining left-most octets would be 0 in value.
来源:https://stackoverflow.com/questions/9103977/how-to-get-ipv6-address-in-c