Заголовки запросов только с использованием Ruby HTTPClient возвращает код состояния 405 http (метод запрещен) в Ruby on Rails

Приложение 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?

С http -h ... вы все еще делаете полный запрос GET, клиент просто выбрасывает тело ответа. Таким образом, все еще вероятно, что Google Диск просто не поддерживает запросы HEAD.

Holger Just 31.03.2021 17:26

Вы уверены, что @HolgerJust? Я тестировал GET для большого файла, и время отклика при использовании -h составляет доли секунды, в то время как без него потребовалось больше времени для эффективной загрузки файла.

Caco 31.03.2021 20:09
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
33
0

Другие вопросы по теме