python - 使用Python ping 网站时必须指定IP 地址

标签 python ip ping

因此,我尝试 ping 一个网站(例如 Microsoft 或 Google)并打印结果,但当我运行脚本时,它只是说:“必须指定 IP 地址。”。我尝试环顾四周,看看为什么会发生这种情况,但似乎无法缩小解决方案的范围。

这是我的代码:

import subprocess

print('Ping www.microsoft.com')
print()
address = 'www.microsoft.com'
subprocess.call(['ping', '-c 3', address])

我做错了什么吗?如果是这样,任何帮助或解释将不胜感激!

最佳答案

要显示子进程调用的输出,您可以使用 check_output 方法:See this answer for details

import subprocess

def ping():
  print('Ping www.microsoft.com')
  print()
  address = 'www.microsoft.com'
  print(subprocess.check_output(['ping', '-c', '3', address]).decode())

ping()

输出:

Ping www.microsoft.com

PING e13678.dspb.akamaiedge.net (23.53.160.151) 56(84) bytes of data.
64 bytes from a23-53-160-151.deploy.static.akamaitechnologies.com (23.53.160.151): icmp_seq=1 ttl=55 time=83.6 ms
64 bytes from a23-53-160-151.deploy.static.akamaitechnologies.com (23.53.160.151): icmp_seq=2 ttl=55 time=83.5 ms
64 bytes from a23-53-160-151.deploy.static.akamaitechnologies.com (23.53.160.151): icmp_seq=3 ttl=55 time=83.7 ms

--- e13678.dspb.akamaiedge.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 83.567/83.648/83.732/0.067 ms

关于python - 使用Python ping 网站时必须指定IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55233204/

相关文章:

python - 如何将 `str.contains` 的输出分配给 Pandas 列?

python - 使用 skvideo 包 python 获取视频的帧速率

ip - 如何在 VxWorks 中验证网络设备是否具有 IP 地址

google-cloud-platform - 如何更改外部临时 ip

java - 从 Ping 统计数据中提取数据的正则表达式没有输出。如何修复它?

python - Python 中的分布式滞后模型

python - 查找区间索引的有效方法

google-api - 谷歌API : live server firewall ip address ranges

python-2.7 - Tornado websocket ping/pong 的实现

linux - 如何设置默认的ping6接口(interface)