gpt4 book ai didi

sockets - 高效检索IP地址和状态码

转载 作者:行者123 更新时间:2023-12-03 12:05:35 25 4
gpt4 key购买 nike

只是一个实际的问题。我确实需要检索站点的HTTP状态代码以及IP地址。

考虑到我通常需要解析10k和150k域的事实,我想知道哪种方法最有效。

我已经看到使用urllib2.urlopen(site)尝试下载连接到该文件的整个文件流。同时urllibs2没有提供将主机名转换为IP的方法。

鉴于我只对HEAD位感兴趣,以收集诸如该特定服务器的HTTP状态代码和IP地址之类的信息,那么最佳的操作方法是什么?

我应该只使用套接字吗?谢谢

最佳答案

我认为没有一种特殊的魔术工具可以检索站点的HTTP状态代码和IP地址。

为了获取HTTP状态代码,您应该使用HEADurllib2requests发出httplib请求。这是一个来自How do you send a HEAD HTTP request in Python 2?的示例:

>>> import urllib2
>>> class HeadRequest(urllib2.Request):
... def get_method(self):
... return "HEAD"
...
>>> response = urllib2.urlopen(HeadRequest("http://google.com/index.html"))

一个示例,使用 requests:
>>> import requests
>>> requests.head('http://google.com').status_code
301

另外,您可能想看看 grequests以便从多个页面获取状态代码来加快处理速度。

GRequests allows you to use Requests with Gevent to make asyncronous HTTP Requests easily.



要获取IP地址,您应该使用 socket:
 socket.gethostbyname_ex('google.com')

另请参阅以下线程:
  • How do you send a HEAD HTTP request in Python 2?
  • How to resolve DNS in Python?
  • How do I get a website's IP address using Python 3.x?

  • 希望能有所帮助。

    关于sockets - 高效检索IP地址和状态码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18322168/

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