Идентичные (?) запросы Python веб-перехватчика Discord получают разные ответыPython

Программы на Python
Ответить
Anonymous
 Идентичные (?) запросы Python веб-перехватчика Discord получают разные ответы

Сообщение Anonymous »

Я написал код на Python, который сканирует URL-адрес определенного изображения, и если он обнаруживает изменение в хэше, он сохраняет новую версию, а затем загружает ее в вебхук Discord, или это то, что он должен делать, но я получаю успешную загрузку исходного изображения и ошибку 400 для нового изображения.

Код: Выделить всё

import requests
import hashlib
import logging
from datetime import datetime
from time import sleep as s
import discord_webhook
logging.basicConfig(level=logging.DEBUG)
webhook_url = "redacted"
webhook = discord_webhook.DiscordWebhook(url=webhook_url)
url = "redacted"
response = requests.get(url)
ct = datetime.now().strftime("%m-%d_%H-%M-%S")
fn = f"redacted_{ct}.jpg"
with open(fn, "wb") as f:
f.write(response.content)
print(f"Image downloaded: {fn}")
try:
while True:
with open(fn, "rb") as f:
webhook.add_file(file=f.read(), filename="image.jpg")
resp = webhook.execute()
if resp.status_code == 200:
break
print(f"{fn} uploaded!")
except Exception as e:
print(e)
if response.status_code == 200:
existing_hash = hashlib.md5(response.content).hexdigest()
while True:
s(30)
response = requests.get(url)
if response.status_code == 200:
new_hash = hashlib.md5(response.content).hexdigest()
if new_hash != existing_hash:
ct = datetime.now().strftime("%m-%d_%H-%M-%S")
fn = f"redacted_{ct}.jpg"
with open(fn, "wb") as f:
f.write(response.content)
print(f"Image downloaded: {fn}")
try:
while True:
with open(fn, "rb") as f:
webhook.add_file(file=f.read(), filename="image.jpg")
resp = webhook.execute()
if resp.status_code == 200:
break
print(f"{fn} uploaded!")
except Exception as e:
print(e)
existing_hash = new_hash
continue
else:
print("Image is unchanged")

проверка хеша, загрузка нового изображения и т. д. — все работает нормально. Меня зацепила просто загрузка в вебхук. Первоначальная загрузка с момента первого запуска бота всегда получает ответ 200 и работает отлично, и, насколько мне известно, я использовал практически идентичный код в своем цикле, но этот запрос получает ответ 400 при каждой попытке. Я подтвердил, что обновленное изображение успешно сохраняется и имя файла правильное, но я получаю одну и ту же ошибку ERROR:discord_webhook.webhook:Webhook status code 400: {"attachments": ["0"] каждый раз. время. Я относительно новичок в Python, поэтому, пожалуйста, не обращайте внимания на мой неуклюжий код. Заранее спасибо за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/791 ... -responses
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»