Я пытаюсь отправить локальный html-файл со своего компьютера на https://validator.nu/ из W3C, чтобы проверить его. Я нашел эту команду curl, которая отлично работала в терминале:
curl -H "Content-Type: text/html; charset=utf-8" \
--data-binary @FILE.html \
https://validator.w3.org/nu/?out=gnu
Но как сделать почтовый запрос в python, эквивалентный упомянутой команде curl?
Я уже пробовал следующее, но это не сработало правильно.
headers = {
'Content-Type': 'text/html',
'charset': 'utf-8',
}
url = "https://validator.w3.org/nu/?out=gnu"
files = {'upload_file': open('filename.html','rb')}
r = requests.post(url, files=files, data=data, headers=headers)
print(r.text)
Может кто-нибудь помочь мне в выполнении запроса в python?
Вам нужно отправить содержимое файла в виде двоичных данных:
import requests
headers = {
'Content-Type': 'text/html',
'charset': 'utf-8',
}
url = "https://validator.w3.org/nu/?out=gnu"
with open("filename.html", "rb") as f:
data = f.read()
r = requests.post(url, data=data, headers=headers)
print(r.text)