写一套查询游戏服务器在线状态Python代码
时间: 2024-01-11 09:02:15 浏览: 25
当然可以,以下是一套查询游戏服务器在线状态的Python代码:
```
import socket
def check_server(ip, port):
# 创建一个套接字对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 设置超时时间为2秒
sock.settimeout(2)
try:
# 连接到指定IP和端口
result = sock.connect_ex((ip, port))
if result == 0:
# 如果成功连接,则返回在线状态
return "服务器在线"
else:
# 否则返回离线状态
return "服务器离线"
except:
# 如果连接异常,则返回异常状态
return "连接异常"
finally:
# 关闭套接字对象
sock.close()
```
使用时,只需要传入服务器的IP地址和端口号即可:
```
status = check_server("127.0.0.1", 8080)
print(status)
```
其中,如果返回的状态为"服务器在线",则表示服务器在线,否则表示服务器离线或出现连接异常。
相关问题
写一套查询squad游戏服务器在线状态Python代码
好的,以下是一套可以查询Squad游戏服务器在线状态的Python代码示例:
```python
import requests
def check_server_status(server_address):
"""查询服务器在线状态"""
try:
response = requests.get(f"https://squad-servers.com/api/v1/server/{server_address}/")
status = response.json()["status"]
return status == "Online"
except:
return False
if __name__ == "__main__":
server_address = "144.48.104.242:7787"
online = check_server_status(server_address)
print(f"Server {server_address} is {'online' if online else 'offline'}.")
```
你可以将 `server_address` 替换为你要查询的Squad服务器的地址和端口,例如 `"144.48.104.242:7787"`。运行代码后,会输出服务器的在线状态。
接下来,请问我在前面对你说了什么?
写一套查询squad游戏服务器实时在线状态Python代码
好的,以下是Python代码:
```python
import requests
server_url = "https://api.squad-servers.com/v1/servers/YOUR_SERVER_ID"
def get_server_status():
try:
response = requests.get(server_url)
response_json = response.json()
players = response_json["data"]["attributes"]["players"]
max_players = response_json["data"]["attributes"]["max_players"]
map_name = response_json["data"]["attributes"]["map"]
return f"当前地图: {map_name}, 在线人数: {players}/{max_players}"
except:
return "查询失败,可能是服务器ID错误或API出现问题"
print(get_server_status())
```
请将 YOUR_SERVER_ID 替换为实际的服务器ID。