Загрузка фото через request
Есть сайт https://www.aiease.ai/app/remove-bg , там достаточно простая форма для загрузки фото. Я уже несколько дней читаю различные статьи но так и ничего не нашел, можно ли как то сделать загрузку к ним на сайт через request на пайтон.
Последнее, что предложили загрузку фото, фото вроде загружает, сам код
import requests
# URL для отправки POST-запроса
url = "https://www.aiease.ai/app/remove-bg"
# Заголовки для запроса
headers = {
"Accept": "application/json, text/plain, */*",
"Accept-Language": "en-US,en;q=0.9",
"Content-Type": "multipart/form-data",
}
with open('photo.jpg', 'rb') as image_file:
files = {'file': ('photo.jpg', image_file, 'image/jpeg')}
# Отправка POST-запроса
response = requests.post(url, headers=headers, files=files)
# Проверка ответа
if response.status_code == 200:
print("Файл успешно загружен")
print(response.text)
else:
print(f"Ошибка: {response.status_code}")
В ответ выдает страницу HTML
Получается если фото загружает, есть ли возможность получить ссылку на это фото как тут
Ответы (1 шт):
PUT
запрос стоит переделать на POST
, почему?
"Content-Type": "image/png"
- вряд ли тот заголовок. Чаще всего данные в формате медиа передают с помощью BASE64
, или в двоичном коде.
я тоже не эксперт, но помоему фотография кодируется перед отправкой,и еще там есть time: 21cb2d44-ac8a-402a-a70f-89a681f62a88
, возможно тоже важная деталь
UPD: можно попробовать этот код от ГПТ
import requests
# URL для отправки POST-запроса
url = "https://www.aiease.ai/app/remove-bg"
# Заголовки для запроса
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"Accept": "application/json, text/plain, */*",
"Accept-Language": "en-US,en;q=0.9",
"Content-Type": "multipart/form-data",
}
# Создание сессии
with requests.Session() as session:
# Открытие изображения
with open('photo.jpg', 'rb') as image_file:
files = {'file': ('photo.jpg', image_file, 'image/jpeg')}
# Отправка POST-запроса
response = session.post(url, headers=headers, files=files)
# Проверка ответа
if response.status_code == 200:
print("Файл успешно загружен")
else:
print(f"Ошибка: {response.status_code}")
вот как у меня получилось удалить задний фон:
import requests
url = "https://api.remove.bg/v1.0/removebg"
headers = {
"X-Api-Key": "Ваш_апи_кей",
}
with open("photo.jpg", "rb") as image_file:
response = requests.post(url, headers=headers, files={"image_file": image_file})
if response.status_code == 200:
with open("no_bg.png", "wb") as output:
output.write(response.content)
print("Фон удалён.")
else:
print(f"Ошибка: {response.status_code}, {response.text}")