Python — Почему requests.post возвращает 200 без фактической загрузки файла?

#python #python-requests

#python #python-запросы

Вопрос:

Примечание: я ранее публиковал этот вопрос, но он был связан с другим вопросом, где на мой вопрос фактически нет ответа.

Я пытаюсь изучить Python, преобразовав некоторые bash-скрипты в Python. Я застрял при загрузке файла на свой веб-хост. Вот что я пытаюсь сделать вместе с результатом:

 import requests
user = '....'
password = '....'
myfile={'file': open('/Users/mnewman/Desktop/myports.txt' ,'rb')}
myurl = 'https://www.example.com/'
headers={"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) 
         AppleWebKit/605.1.15(KHTML, like Gecko) Version/14.0.1 Safari/605.1.15"}
r = requests.post(url=myurl, data={}, files=myfile, 
        auth=(user, password), headers=headers)
print(r.status_code)
print(r.headers)
 
 200
{'Date': 'Sat, 12 Dec 2020 22:51:04 GMT', 'Server': 'Apache', 'Upgrade': 'h2,h2c', 
'Connection': 'Upgrade, Keep-Alive', 'Last-Modified': 'Sun, 30 Aug 2020 23:31:39 GMT', 
'Accept-Ranges': 'none', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 
'Content-Length': '1227', 'Keep-Alive': 'timeout=5, max=75', 'Content-Type': 
'text/html'}
 

Даже если код ответа равен 200, файл фактически не был загружен. Как я могу выяснить, почему файл не был загружен, даже если он вернул код состояния 200?

Комментарии:

1. Это проблема на стороне сервера, а не проблема с запросами.

2. Все тот же вопрос. Как я могу выяснить, что происходит не так?

3. Проверьте журналы вашего сервера Apache?

4. Как уже было сказано, проблема на сервере. Похоже, он не использует типичную обработку ошибок. Вы также несете ответственность за сервер? Если вы выполняете отладку и устраняете проблему там, если нет, вам, возможно, придется связаться с кем-то, ответственным за это.

5. Этот домен размещен HostGator. Когда я смотрю на страницу под названием «Последние 300 сообщений журнала ошибок в обратном порядке», ошибок в списке вообще нет. Когда я просматриваю необработанные журналы доступа, мой текущий IP-адрес (динамический) вообще не указан. Я проверил, используя последние три IP-адреса, которые мне были предоставлены. (И, да, я отслеживаю свой IP-адрес.)