Приложение My Ruby on Rails (ruby 2.6.6; rails 5.2) делает запрос только заголовка с использованием HTTPClient для прямой ссылки для загрузки с Google Диска. Это нужно для проверки, действительно ли файл там.
Код такой:
response = client.head(<google_drive_direct_download_url>, follow_redirect: true)
Это приводит к коду состояния 405.
Но в то же время я могу сделать обычный запрос к тому же URL, используя
response = client.request('GET', <google_drive_direct_download_url>, follow_redirect: true)
получение кода состояния 200.
Существует Почта, говорящий, что есть вероятность, что конечная точка URL не принимает запросы только заголовков.
Но я могу сделать запрос только по заголовку, используя httpie
, получающий 200:
$ http <google_drive_direct_download_url> -h --follow
Может быть, дело в устаревшей версии или проблема с HTTPClient?
Вы уверены, что @HolgerJust? Я тестировал GET для большого файла, и время отклика при использовании -h
составляет доли секунды, в то время как без него потребовалось больше времени для эффективной загрузки файла.
С
http -h ...
вы все еще делаете полный запросGET
, клиент просто выбрасывает тело ответа. Таким образом, все еще вероятно, что Google Диск просто не поддерживает запросы HEAD.