Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re^2: curl sends basic insted of ntlm

by dsx (Novice)
on Dec 09, 2011 at 10:20 UTC ( #942614=note: print w/replies, xml ) Need Help??

in reply to Re: curl sends basic insted of ntlm
in thread curl sends basic insted of ntlm


the verbose mode gave me the following error

gss_init_sec_context() failed: : Credentials cache file '/tmp/krb5cc_1000' not found< WWW-Authenticate: Negotiate

seems to be a bug of libcurl if curl is built with NSS insted of OpenSSL. but curl --version gives me

curl --version curl 7.21.0 (i486-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2 +.3.4 libidn/1.15 libssh2/1.2.6 x Protocols: dict file ftp ftps http https imap imaps ldap ldaps pop3 po +p3s rtsp scp sftp smtp smtps telnet tftp Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

how can i find out wich version of libcurl perl does use?

Replies are listed 'Best First'.
Re^3: curl sends basic insted of ntlm
by dsx (Novice) on Feb 06, 2012 at 10:26 UTC
    the problem was a bug in the version 4.12 of the module WWW::Curl which is used in the debian package libwww-perl-curl. the bug is fixed in the recent version of WWW::Curl
      Verified this works on WWW::Curl 4.15. I'm already going desperate trying to make LWP work against an NTLM-protected webserver until I saw this post. Problem solved in no time! Thanks, ++ for this!
      I think I am seeing a similar issue with digest authentication My code...
      $url = 'http://localhost'; $user = 'TBC'; $password = 'TBC'; $file = 'IMG_6345.JPG'; @params = ('file' => $file); $curl = new WWW::Curl::Easy; $curl->setopt(CURLOPT_VERBOSE, 1); $curl->setopt(CURLOPT_URL, $url); $curl->setopt(CURLOPT_CONNECTTIMEOUT, 10); $curl->setopt(CURLOPT_TIMEOUT, 300); $curl->setopt(CURLOPT_HTTPAUTH, CURLAUTH_DIGEST); $curl->setopt(CURLOPT_USERPWD, "$user:$password"); $curl->setopt(CURLOPT_POST, 1); $curl->setopt(CURLOPT_POSTFIELDS, \@params); $curl->setopt(CURLOPT_RETURNTRANSFER, 1); $body = $curl->perform; print($body);
      Output... note despite Digest being set it is using Basic
      * About to connect() to localhost port 80 (#0) * Trying * connected * Connected to localhost ( port 80 (#0) * Server auth using Basic with user 'tbc' > POST / HTTP/1.1 Authorization: Basic ZgVtbzpweXRob24= Host: localhost Accept: */* Content-Length: 16 Content-Type: application/x-www-form-urlencoded * upload completely sent off: 16 out of 16 bytes < HTTP/1.1 401 Unauthorized < Date: Sun, 15 Jul 2012 13:28:45 GMT < Server: Apache < WWW-Authenticate: Digest realm="realm",qop="auth",nonce="MGVjNTu4ZmV +lNzNkMjM0ZGI5ZDE2NGY4MGExOWJiODY6MTM0MjM1OTIyNQ==" < Connection: close < Transfer-Encoding: chunked < Content-Type: text/plain;charset=UTF-8 < This service requires authentication. Please contact your account mana +ger. * Closing connection #0
      My Amazon Linux AMI instance has the following installed
      perl-WWW-Curl.i686 4.09-3.5.amzn1 @am +zn-main perl-core.i686 5.10.1-119.12.amzn1 amz +n-main
      Any thoughts?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://942614]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2018-04-21 18:05 GMT
Find Nodes?
    Voting Booth?