[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Antwort: Re: Problem with POST in HTT API - correcting myself




Well, I sort of fixed this problem by increasing the timeout for the "100 Continue" response from 0.5 seconds to one second. Now I am getting a proper response. Unfortunately it is "ERR: 001, Authentication failed". Just to repeat from my previous postings: it works with HTTP_URL_Get_Raw, it works with a HTML form and action="" just not with HTTP_URL_Post_Raw.

Boy, will this EVER work?

owner-ftpapi@xxxxxxxxxxxxx schrieb am 23.06.2005 15:27:43:

>
> I read the RFC2616 (HTTP protocol) and went through the log again,
> this time more carefully:
>
> HTTP API expects an "100 Continue" but appears a bit impatient and
> proceeds (logging a "No 100-Continue (error ignored)") with sending
> the request body. When finished with the request body, it expects an
> "200 OK" but instead receives the delayed "100 continue". From there
> on things are getting real ugly...
>
> Well, RFC2616 in subsection 10.1.1 clearly says: "The client SHOULD
> continue by sending the remainder of the request or, if the request
> has already been completed, ignore this response."
>
> If I had more time and would be more familiar with the HTTP API
> source, I might fix that, but unfortunately I'll be soon gone for
> four weeks. But maybe my digesting might be helpful in finding a solution
>
>
>
> owner-ftpapi@xxxxxxxxxxxxx schrieb am 23.06.2005 10:43:20:
>
> >
> > Fortunately, 1.11pre4 creates a debug log (in the directory, where I
> > supposedly have no rights, hehe) which might help to shed some light
> > on the problem (I have blanked out the user, password, etc. with
> > '*'). Interesting side note: what I previously had considered
> > "uninitialised htt_error" seems to be actually set on purpose. The
> > gibberish gets set by the API.
> >
> > I do not know the innards of HTTP API well, but it look suspiciously
> > like the first time the "HTTP/1.1 100 Continue" is correctly
> > identified as "no error", but the next time it is handled
> > differently. Finally, when the API gets the result of the POST,
> > which should read like "ID: f7ad50581876af8cf4799dedf8b828f7", it
> > does not get converted and leads to an "error"
> >
> > -----------------------------------------------------------------
> > HTTPAPI Ver 1.11pre4 released 2005-06-22
> >
> > http_persist_open(): entered
> > http_long_ParseURL(): entered
> > http_persist_post(): entered
> > http_long_ParseURL(): entered
> > do_post(): entered
> > POST /http/sendmsg HTTP/1.1
> > Host: api.clickatell.com
> > User-Agent: http-api/1.11
> > Content-Type: text/xml
> > Expect: 100-continue
> > Content-Length: 99
> >
> >
> > recvresp(): entered
> > SetError() #43: CommTCP_read: No 100-Continue (error ignored)
> > senddoc(): entered
> >
> api_id=*****&user=*****&password=*****&to=4369981250924&from=HTTP_API&text=Das+ist+ein+Test%
> > 7C
> >
> > recvresp(): entered
> > HTTP/1.1 100 Continue
> >
> >
> > SetError() #13: HTTP/1.1 100 Continue
> > HTTP/1.1 200 OK
> > Date: Thu, 23 Jun 2005 07:59:10 GMT
> > Server: Apache/1.3.28 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.7d PHP/4.3.4
> > X-Powered-By: PHP/4.3.4
> > Transfer-Encoding: chunked
> > Content-Type: text/html
> >
> >
> > SetError() #13: HccWaqKq@xxx@C#        $
> > http_close(): entered
> > -----------------------------------------------------------------
> >
> >
> >
> > This is how it looks like with GET. Please note that we get "200 OK"
> > instead of "100 Continue"!
> >
> > Honestly, I know nothing about the HTTP protocol, but I suppose that
> > after a "100 Continue" we are supposed to tell the server that we
> > are done and then the server will reply with "200 OK" and give us
> > the requested document.
> >
> > -----------------------------------------------------------------
> > HTTPAPI Ver 1.11pre4 released 2005-06-22
> >
> > http_persist_open(): entered
> > http_long_ParseURL(): entered
> > http_persist_get(): entered
> > http_long_ParseURL(): entered
> > do_get(): entered
> > GET /http/sendmsg?
> >
> api_id=******&user=*****&password=********&to=43699250924&from=HTTP_API&text=Das+ist+ein+Test
> > HTTP/1.1
> > Host: api.clickatell.com
> > User-Agent: http-api/1.11
> >
> >
> > recvresp(): entered
> > HTTP/1.1 200 OK
> > Date: Thu, 23 Jun 2005 08:29:19 GMT
> > Server: Apache/1.3.28 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.7d PHP/4.3.4
> > X-Powered-By: PHP/4.3.4
> > Transfer-Encoding: chunked
> > Content-Type: text/html
> >
> >
> > SetError() #13: HTTP/1.1 200 OK
> > recvdoc parms: chunked 0
> > recvchunk(): entered
> > get_chunk_size(): entered
> > 24
> >
> > chunk size = 36
> > get_chunk_size returned 36
> > calling comm_blockread
> > ID: fd47d3e04e4d3e384fce64c6e71a9a89
> > comm_blockread returned 36
> >
> >
> > get_chunk_size(): entered
> > 0
> >
> > chunk size = 0
> > get_chunk_size returned 0
> > http_close(): entered
> > -----------------------------------------------------------------
> >
> >
> > Christian Vitroler
> >
> > owner-ftpapi@xxxxxxxxxxxxx schrieb am 23.06.2005 09:09:06:
> >
> > >
> > > I have installed 1.11pre4 and the problem remains.
> > >
> > > Christian Vitroler
> > >
> > > owner-ftpapi@xxxxxxxxxxxxx schrieb am 22.06.2005 12:00:54:
> > >
> > > >
> > > > Hello all... I have an interesting problem:
> > > >
> > > > I try to send a SMS message via www.clickatell.com. After fixing a
> > > > BUG in HTTP_URL_ENCODER (which I told Scott about in a seperate
> > > > email) it works fine, AS LONG as I am using GET. If I use POST, then
> > > > I am getting a TIMEOUT (rc=0). Using exactly the same data from
> > > > HTTP_URL_ENCODER, just obtained via "HTTP_URL_Encoder_GetPtr"
> > > > instead of "HTTP_URL_Encoder_GetStr".
> > > >
> > > > The POST works very well if issued from a simple HTML form, thus it
> > > > is not a server issue.
> > > >
> > > > Kind regards,
> > > > Christian Vitroler