Убедитесь, что изображение существует по URL-адресу, когда HEAD не разрешен.C#

Место общения программистов C#
Ответить
Anonymous
 Убедитесь, что изображение существует по URL-адресу, когда HEAD не разрешен.

Сообщение Anonymous »

Используя HttpClient в C#, я пытаюсь убедиться, что изображение существует по заданному URL-адресу, не загружая само изображение. Эти изображения могут быть получены с любого общедоступного адреса. Я использовал HTTP-глагол HEAD, который, кажется, работает для многих/большинства. Образы Google Диска оказываются трудными.
При наличии такой общедоступной ссылки:

Код: Выделить всё

https://drive.google.com/file/d/1oCmOEJp0vk73uYhzDTr2QJeKZOkyIm6v/view?usp=sharing
Я с радостью могу использовать HEAD, получаю 200 ОК и, похоже, он доволен. Но это не тот образ. Это страница, на которой можно загрузить изображение.
Немного повозившись, вы можете изменить URL-адрес на этот, чтобы действительно получить изображение, и это то, что я действительно хочу проверить. :

Код: Выделить всё

https://drive.google.com/uc?export=download&id=1oCmOEJp0vk73uYhzDTr2QJeKZOkyIm6v
Но нажатие на этот URL-адрес с помощью HEAD приводит к 405 MethodNotAllowed
К счастью, если URL-адрес действительно не существует, вы получите обратно 404 NotFound
Так что я застрял на 405. Каков мой следующий шаг (НЕ используя API Google), если HEAD запрещен? Я не могу считать, что это действительное изображение, если оно просто не 404. Я проверяю тип контента, чтобы убедиться, что это изображение, проблемы с которым выходят за рамки этого вопроса.

Подробнее здесь: https://stackoverflow.com/questions/655 ... ot-allowed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»