cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: multi interface + writeDataCallback doesn't work on win32 !

From: Stefan Libcurl <libcurl_at_hotmail.com>
Date: Wed, 26 May 2004 13:56:31 +0200

Hi !

For better understanding:

I have an example(ActiveX control) using the easy-interface. It's running in
InternetExplorer behind a MS Proxy-Server. Therefor I need NTLM
authentication. Without the proxy server in runs, with proxy server perform
returns CURLE_COULDNT_CONNECT. It's only a simple test. Later I want to
change to multi-interface. But all multi-interface examples do not work. Bad
basics :-(

My answers are between the text and reference to your example.

>From: Daniel Stenberg <daniel-curl_at_haxx.se>
>
> > select() returns -1 an "select() returns error, this is badness" is
>printed
> > out.
>
>What libcurl version on what operating system?

I used the curl_version_info() function to get informations.

libcurl version: 7.11.1
host: i386-pc-win32
features: 532
CURL_VERSION_SSL
CURL_VERSION_NTLM
ssl-version: OpenSSL/0.9.7d
Protocols:
ftp
gopher
telnet
dict
ldap
http
file
https
ftps

> > Also my_trace() prints " == Info: Closing connection #0".
>
>When?

At the end of the program. It's called from
curl_easy_cleanup(http_handle);. That's ok.
Otherwise there are no other calls of my_trace().

> > Also I tried to download a file from a client behind a Microsoft
>ProxyServer
> > with NTLM auth. I have set an easy-handle with NTLM auth. but the same
>error
> > occurs:
> >
> > "About to onnect to www.myserver.com port 80"
> > "Connection connection #0"
> >
> > What's going wrong ?
>
>What does the return code/error message tell?

CURLE_COULDNT_CONNECT is the return code inside the ActiveX control.

Your example returns at first -1 (==CURLM_CALL_MULTI_PERFORM), then 0. I
think this is correct.

>Lots. Have you tried reading the docs? curl_multi_info_read() would be a
>good
>start.

Yes, I used curl_multi_info_read(). I call this function between:

...
  while(CURLM_CALL_MULTI_PERFORM == curl_multi_perform(multi_handle,
&still_running))

  /* read informations */
  curlMsg = curl_multi_info_read(multi_handle, &numbers);
  if (curlMsg)
   {
     if (CURLMSG_DONE == curlMsg->msg)
      {
         printf("curl_multi_info_read() results:\n");
         printf(" result = %d", curlMsg->data);
      }
   }

  while(still_running) {
...

But curl_multi_info_read() returns always NULL. Also when I places the
funtion at the end of your code.

Hhhm, I hth.

I downloaded a package of libcurl (curl-7.11.1-win32-ssl-devel.zip) and ssl
(Win32OpenSSL-v0.9.7d.exe). The libcurl package contained libcurl.lib (for
linking my example) and libcurl.dll (I copied to system32 directory).
The ssl package contained libeay32.dll and eay32.dll which was copied to
\system32 by installer.

I do not build the libcurl self.

Thanks ...

-steve'o

_________________________________________________________________
Schützen Sie Ihren Posteingang vor unerwünschten E-Mails.
http://www.msn.de/antispam/prevention/junkmailfilter Jetzt
Hotmail-Junk-Filter aktivieren!
Received on 2004-05-26