Python 请求 - 获取服务器 IP

时间:2021-05-09 16:01:44

标签: python sockets networking python-requests ip

我正在制作一个测试 CDN 性能的小工具,并想检查响应的来源。我想到了获取主机的 IP,然后使用 github 上的地理定位 API 之一来检查国家/地区。

我试过这样做

import socket
...
raw._fp.fp._sock.getpeername()

...但是,只有当我使用 stream=True 请求时才有效,而这又会破坏工具的功能。 是否有其他选项可以通过请求或以完全不同的方式获取服务器 ip?

1 个答案:

答案 0 :(得分:1)

Python 套接字库中的 socket.gethostbyname() 函数应该可以解决您的问题。您可以在 Python 文档 here 中查看。

这是一个如何使用它的例子:

import socket
url="cdnjs.cloudflare.com"
print("IP:",socket.gethostbyname(url))

您需要做的就是将 url 传递给 socket.gethostbyname(),它会完成剩下的工作。只需确保删除 URL 前的 http://,因为那样会绊倒它。

相关问题