gpt4 book ai didi

python - 如果我有完整的 url,如何使用函数 socket.gethostbyname 获取 IP 地址?

转载 作者:行者123 更新时间:2023-12-01 01:17:37 25 4
gpt4 key购买 nike

我需要获取网站的IP地址,例如'https://www.facebook.com/ '

此代码返回 IP 地址:

ip_address = socket.gethostbyname('www.facebook.com')
print('ip_address = ', ip_address) # prints 185.60.216.35

但是这段代码:

  ip_address = socket.gethostbyname('https://www.facebook.com/login/device-based/regular/login/?login_attempt=1&lwv=110')

抛出异常:

socket.gaierror: [Errno -2] Name or service not known

Python中有没有办法从这个链接获取IP地址'https://www.facebook.com/ ' 不检索 www.facebook.com ?

最佳答案

您可以使用urllib.parse.urlsplit从域中获取主机名,然后获取 IP 地址。

urlsplit返回一个namedtuple,它的netloc属性是主机名。

>>> import socket
>>> from urllib import parse
>>> url = 'https://www.facebook.com/login/device-based/regular/login/?login_attempt=1&lwv=110'
>>> split_url = parse.urlsplit(url)
>>> ip_address = socket.gethostbyname(split_url.netloc)

>>> print(ip_address)
157.240.1.35

关于python - 如果我有完整的 url,如何使用函数 socket.gethostbyname 获取 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54171276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com