Search code examples
curl

cURL GET Request Returns No Output


I'm sending a simple curl request to pinterest.com. When I do it using PHP no result is shown. I tried it from command line and no result showed up. Then I tried the verbose mode in curl and it gives:

curl 7.27.0 (i686-pc-linux-gnu) libcurl/7.27.0 OpenSSL/1.0.1c zlib/1.2.7 libidn/1.25 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp 
Features: Debug GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

I have searched but could not sort out. What am I doing wrong?

The command is:

curl -v pinterest.com

Solution

  • Check the headers: It's only accessible by https:

    $ curl --dump-header - http://pinterest.com/
    HTTP/1.1 302 FOUND
    Accept-Ranges: bytes
    Age: 0
    Content-Type: text/html; charset=utf-8
    Date: Thu, 18 Jul 2013 19:25:49 GMT
    Etag: "d41d8cd98f00b204e9800998ecf8427e"
    Location: https://pinterest.com/
    Pinterest-Breed: CORGI
    Pinterest-Generated-By: ngapp-b7f64694
    Pinterest-Version: a8eef3c
    Server: nginx/0.8.54
    Set-Cookie: csrftoken=A2VQZGarr509JKxrJxiuW2MbrXNdHlUH; Domain=.pinterest.com; expires=Thu, 17-Jul-2014 19:25:49 GMT; Max-Age=31449600; Path=/
    Set-Cookie: _pinterest_sess="eJwz84isyvfJcilP1S4szHY20A6MKitJKwwPdi+2tY8vycxNtfUN8TX2c3E19gsJNfAPtLVVK04tLs5MsfXMcjTxq/KsAGJj3/CgHL+QoGzfrLCMSKNAIz93X+PIrHQTIF0eFe6X4ZluawsAh3UjNA=="; Domain=.pinterest.com; expires=Sun, 13-Jul-2014 19:25:49 GMT; Max-Age=31103999; Path=/
    Vary: Cookie
    Via: 1.1 varnish
    X-Varnish: 1991078486
    Content-Length: 0
    Connection: keep-alive
    

    If you use the -L option you'll get the page:

    $ curl -L http://pinterest.com/
    <!DOCTYPE html>
    <!--[if IE 7 ]><html lang="en" class="ie7 ielt9 ielt10 en"><![endif]-->
    <!--[if IE 8 ]><html lang="en" class="ie8 ielt9 ielt10 en"><![endif]-->
    <!--[if IE 9 ]><html lang="en" class="ie9 ielt10 en"><![endif]-->
    <!--[if (gt IE 9)|!(IE)]><!--><html lang="en" class=" en"><!--<![endif]-->
    
    <head>
        <script>
    [snip]
    

    Here in this link is how it's done with PHP:

    [Years later...] also, -V is --version, not --verbose, which is lowercase -v. invoking curl -V causes it to display the version and ignore any args, so you would never get the page that way anyway.