cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: libCurl + Multipart Post + Proxy (IPlanet)

From: <Massimiliano_Ziccardi_at_intesa.it>
Date: Mon, 5 Apr 2004 15:15:55 +0200

Hi Daniel,

>(AGAIN: please don't mail curl-library-bounces

Sorry, I just did 'reply' from my mail client...

>That's very interesting. Can you see in what way the data has been altered
>when it goes from the PAROS proxy to the IPlanet proxy compared to what it
>looks like when coming straight to the IPlanet proxy from the curl-using
>program?

They seems completely identical.
But I noticed something strange: if I say PAROS to trap the requests and/or
the answers,
everything works.

If I do not say PAROS to trap the requests, I get answers like the
following:

HTTP/1.1 100 Continue // FIRST POST
HTTP/1.1 200 OK // FIRST POST OK // THE
CLIENT POSTS AGAIN THE SAME REQUEST
HTTP/1.1 100 Continue // SECOND POST
HTTP/1.1 200 OK // SECOND POST OK // THE
CLIENT POSTS AGAIN THE SAME REQUEST

Then the third post starts and I get the Empty Reply error.
With the JAVA app I never get HTTP/1.1 Continue.

Thank you,
Massimiliano Ziccardi

P.S. I've disable the Expect 100, but anything has changed.

|--------+--------------------------------->
| | Daniel Stenberg |
| | <daniel-curl_at_haxx.se> |
| | Sent by: |
| | curl-library-bounces_at_co|
| | ol.haxx.se |
| | |
| | |
| | 05/04/2004 13.48 |
| | Please respond to |
| | libcurl development |
| | |
|--------+--------------------------------->
>----------------------------------------------------------------------------------------------------------|
  | |
  | To: libcurl development <curl-library_at_cool.haxx.se> |
  | cc: |
  | Subject: Re: libCurl + Multipart Post + Proxy (IPlanet) |
>----------------------------------------------------------------------------------------------------------|

On Mon, 5 Apr 2004 Massimiliano_Ziccardi_at_intesa.it wrote:

(AGAIN: please don't mail curl-library-bounces

> > The JAVA Application does exactly the same operations.
>
> > I doubt that.
>
> They should. One work, the other doesn't.

Yes, they both offer the same functionality on the higher level. As your
traces show and as I explained, they don't perform the exact same low level
operations.

> The Java application does 4 posts 'couse it works. The CPP app fails on
the
> second post and exits.

In my view, it looks like the POST curl issues is correct and thus the
failure
is because the receiver doesn't do the same interpretation of how to deal
with
this data as curl (and I) do.

> > I could see that the java version didn't use the Expect: 100-continue.
> > Perhaps that is confusing your proxy? Try doing the request without it
and
> > see if it makes a difference.
>
> How can I say libcurl to not insert it?

 curl_slist *headers = curl_slist_append("Expect:");
 curl_easy_setopt(curl_handle, CURLOPT_HTTPHEADER, headers);

> Anyway, I've installed the PAROS proxy on my system. Chaining it with my
> IPlanet proxy and using it as proxy from my application everything works
> again.

That's very interesting. Can you see in what way the data has been altered
when it goes from the PAROS proxy to the IPlanet proxy compared to what it
looks like when coming straight to the IPlanet proxy from the curl-using
program?

> In the beginning I thought it was a problem of my proxy, but now I'm not
> sure anymore.

I agree that list looks bad in comparison, but I prefer to see what curl
sends
and receives and I base my judgement on its performance on those details.
Not
how other programs work or does not work.

Does any of the proxies let through the 100-continue header? Or how come
that
the request works after having been filtered through one of these proxies?

--
     Daniel Stenberg -- http://curl.haxx.se -- http://daniel.haxx.se
      Dedicated custom curl help for hire: http://haxx.se/curl.html
Received on 2004-04-05