1

I'm not sure if this function in CURL just strips the response body out but still load it fully. Is that true? I don't want to waste bandwidth, I just want the headers.

David Refoua
  • 3,476
  • 3
  • 31
  • 55
CodeOverload
  • 47,274
  • 54
  • 131
  • 219
  • 1
    CURLOPT_NOBODY changes the http verb into HEAD which just gets headers. From the related links on the right: http://stackoverflow.com/questions/1378915/header-only-retreival-in-php-via-curl and http://stackoverflow.com/questions/1849723/handle-curl-headers-before-downloading-body – Fanis Hatzidakis Sep 24 '10 at 18:44

3 Answers3

4

CURLOPT_NOBODY will send a HEAD request to web server. The server should respond with just the HTTP headers and no body content.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.

leepowers
  • 37,828
  • 23
  • 98
  • 129
1

It will only load the headers, it won't load the body of the requested document.

David Hancock
  • 14,861
  • 4
  • 41
  • 44
0

As you can see in official doc, It will not download the body if you enable it

https://curl.haxx.se/libcurl/c/CURLOPT_NOBODY.html

DESCRIPTION A long parameter set to 1 tells libcurl to not include the body-part in the output when doing what would otherwise be a download. For HTTP(S), this makes libcurl do a HEAD request. For most other protocols it means just not asking to transfer the body data.

Enabling this option means asking for a download but without a body.

hakki
  • 6,181
  • 6
  • 62
  • 106