403 сообщает, что отправленный запрос был действительным (был ли он правильным, это другая история), но по какой-то причине у вас нет разрешения на доступ к запрашиваемой странице По крайней мере, вы знаете, что отправляется действительный HTTP-запрос.
Можете ли вы вообще проверить журнал сервера? Это может помочь пролить свет на проблему ...
Я тоже не уверен насчет запроса "HEAD". Разве вы не можете использовать «GET» или «POST» и извлечь заголовок самостоятельно? Возможно, библиотека "HEAD" не реализована ... Я не уверен - документация, которую я смог найти с помощью быстрого поиска, крайне неадекватна.