2015-12-24 3 views
2

Мне нужно отправить запрос HTTP HEAD с помощью pycurl.Как сделать запрос HEAD на pycurl

Этот код

curl = pycurl.Curl() 
... 
curl.setopt(curl.CUSTOMREQUEST, "HEAD") 
curl.perform() 

выдает ошибку:

< HTTP/1.1 200 OK 
* Server nginx/1.6.2 is not blacklisted 
< Server: nginx/1.6.2 
< Date: # No matters 
< Content-Type: text/html; charset=utf-8 
< Connection: keep-alive 
< Cache-Control: no-cache,no-store,must-revalidate 
< Pragma: no-cache 
< Expires: # No matters 
< Last-Modified: # No matters 
< Content-Security-Policy: # No matters 
< X-Frame-Options: SAMEORIGIN 
< X-XSS-Protection: # No matters 
< X-Content-Type-Options: nosniff 
< Content-Encoding: gzip 
* no chunk, no close, no size. Assume close to signal end 
< 
* Operation timed out after 15001 milliseconds with 0 bytes received 
* Closing connection 1 

Может кто-нибудь мне помочь?

ответ

2

Вы хотите вариант NOBODY. Как ни в коем случае, пожалуйста. Простое изменение CUSTOMREQUEST не делает изменения libcurl, как он себя ведет, и он будет думать, что он делает GET, но вы меняете его на HEAD, а затем все будет плохо.

+0

Спасибо. Я добавил 'curl.setopt (curl.NOBODY, True)' и это работа! – StasEvseev

0

Просто уточнить. Вам не нужно делать CUSTOMREQUEST! Простое указание опции «NOBODY» достаточно, чтобы pycurl мог генерировать запрос «HEAD». Протестировано с помощью PycURL/7.43.0 libcurl/7.51.0

Смежные вопросы