首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Python中Pinging服务器

在Python中Pinging服务器
EN

Stack Overflow用户
提问于 2010-06-02 05:27:22
回答 20查看 633.9K关注 0票数 205

在Python中,有没有办法通过ICMP ping服务器,如果服务器响应,则返回TRUE;如果没有响应,则返回FALSE?

EN

回答 20

Stack Overflow用户

发布于 2012-05-02 02:29:05

如果你不需要支持Windows,这里有一个非常简洁的方法:

代码语言:javascript
复制
import os
hostname = "google.com" #example
response = os.system("ping -c 1 " + hostname)

#and then check the response...
if response == 0:
  print hostname, 'is up!'
else:
  print hostname, 'is down!'

这是因为如果连接失败,ping会返回一个非零值。(返回值实际上根据网络错误而有所不同。)您还可以使用'-t‘选项更改ping超时(以秒为单位)。注意,这会将文本输出到控制台。

票数 186
EN

Stack Overflow用户

发布于 2015-10-08 22:26:11

有一个名为pyping的模块可以做到这一点。它可以通过pip安装

代码语言:javascript
复制
pip install pyping

它的使用非常简单,然而,当使用这个模块时,您需要root访问权限,因为它是在幕后制作原始数据包的事实。

代码语言:javascript
复制
import pyping

r = pyping.ping('google.com')

if r.ret_code == 0:
    print("Success")
else:
    print("Failed with {}".format(r.ret_code))
票数 50
EN

Stack Overflow用户

发布于 2010-06-02 05:34:27

代码语言:javascript
复制
import subprocess
ping_response = subprocess.Popen(["/bin/ping", "-c1", "-w100", "192.168.0.1"], stdout=subprocess.PIPE).stdout.read()
票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2953462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档