我正在尝试为我正在运行的 Nitrado 服务器编写一个自动日志下载器,因为我出去工作了几天,我希望能够存储所有日志,以防日后需要查看它们。
使用 nitAPI,并在 chatGPT 的帮助下,我创建了一个我希望的程序,该程序应该在程序运行时将文件拉入现有文件夹中,但是当程序尝试登录时遇到 404 错误文件服务器。
import requests
def download_logs(server_id, username, password):
base_url = f"https://api.nitrado.net/services/{server_id}/gameservers/file_server"
auth = (username, password)
# Get the list of available log files
logs_url = f"{base_url}/games/dayz/log"
response = requests.get(logs_url, auth=auth)
if response.status_code != 200:
print(f"Error retrieving log files: {response.status_code} {response.text}")
return
log_files = response.json()
print(f"Available log files: {', '.join(log_files)}")
# Download each log file
for log_file in log_files:
log_url = f"{logs_url}/{log_file}"
response = requests.get(log_url, auth=auth)
if response.status_code == 200:
with open(log_file, 'wb') as file:
file.write(response.content)
print(f"Downloaded: {log_file}")
else:
print(f"Error downloading {log_file}: {response.status_code} {response.text}")
# Set your Nitrado server ID, username, and password
server_id = "SERVER_ID"
username = "USERNAME"
password = "PASSWORD"
# Call the function to download logs
download_logs(server_id, username, password
您使用的网址无效。我猜你想要端点: https://api.nitado.net/services/:id/gameservers/file_server/list
他们还有一个 https://api.nitado.net/services/:id/gameservers/file_server/download API,可能有用,但值得检查 API 规范以了解可用的 file_server API。