Ну, это выглядит странно.Это «должно» работать.
Я не могу точно сказать, что это проблема, но, возможно, это так, я здесь:
Если вы делаете запрос HEAD, сам сервер не должен отправлять вам большечем данные головы.Почти каждый веб-сервер, который вы можете получить, соблюдает это.
Таким образом, вероятность проблемы с сервером маловероятна.Однако это возможно, в зависимости от запущенного приложения.
Но я часто сталкивался с этой проблемой во многих средах сканирования и всего прочего, и очень распространенной причиной сбоев были перенаправления.
Многие внутренние библиотеки следуют за перенаправлениями (как и должны), но «забывают» о запросе HEAD.
Однажды я посмотрел RFC, но не мог понять, что именно нужно сделать на этом этапе.
Но очень строго интерпретированный запрос HEAD должен давать вам заголовок Location.
Но большинство "пользователей", вероятно, ожидают данные заголовка того, что находится за перенаправлением.
ДляПример Zend ZF имеет эту проблему до сегодняшнего дня.scrapy исправил его в более позднем выпуске.
Извините, я не могу дать вам лучший ответ, но ваш код выглядит корректно в отношении этой проблемы, так что это некоторая отладка проб и ошибок ...