socket.gethostbyaddr( os.environ['REMOTE_ADDR'] error
Thomas Rachel
nutznetz-0c1b6768-bfa9-48d5-a470-7603bd3aa915 at spamschutz.glglgl.de
Tue Jan 10 01:42:17 EST 2012
Am 09.01.2012 23:35 schrieb Dominic Binks:
> On 1/9/2012 2:19 PM, Νικόλαος Κούρας wrote:
>> Can you please explain me what the [0] in host =
>> socket.gethostbyaddr( os.environ['REMOTE_ADDR'] )[0] does at the end?
>>
>> Why not just host = socket.gethostbyaddr( os.environ['REMOTE_ADDR'] )
>> instead? what is the need of [0] ?
>
> The address database can have multiple names for the same IP address so
> gethostbyaddr returns a list - [0] being the first item in the list (and
> usually considered the canonical name)
It might be noteworthy that it is nowadays preferrable to use
getaddrinfo() instead. This way, you get all acceptable IP addresses,
not only IPv4 ones. And then, you should not only try this one entry -
[0] -, but iterate over all of them until you have a connection.
BTW: This behaviour might be useful with gethostbyaddr() as well - if
the first one returned has gone away, you have the chance to reach the
2nd one...
Thomas
More information about the Python-list
mailing list