cURL / Mailing Lists / curl-library / Single Mail

curl-library

NTLM authorization process falls down sometime

From: CHADAL François [GIRCE] <francois.chadal_at_girce.caisse-epargne.fr>
Date: Thu, 3 Apr 2008 10:42:41 +0200

Hello everybody,

 

I'm using libcurl in a win32 environment

 

(Info Version=libcurl/7.18.1 OpenSSL/0.9.8g zlib/1.2.3 c-ares/1.5.1

Info Protocole=protocoles[tftp ftp telnet dict ldap http file https ftps ]

Info Feature=features[SSL LIBZ NTLM DEBUG ASYNCHDNS LARGEFILE ])

 

My application uses libcurl for checking many web sites. Some of them use NTLM authorization type.

 

My application can serialize all checking process or permits severals in same time with the curl_multi statements. But my application doesn't use multi-thread for that.

 

My purpose is, when all is serialized, all is ok, and when multi connections are used, then some of NTLM authorization process failed for some web sites. In the info trace, libcurl said "Authentication problem".

 

With the debug trace, I've seen the NTLM response send by the client (my application) is missing, often or always, when libcurl re-use another connection (number connection is different) to re-isssue the HTTP request. When it is OK, libcurl send the NTLM message header, and when libcurl switch for using another free connection, the NTLM message header is not present.

 

 

It seems to be a bug.

 

If anyone have an idea ?

 

 

Below an example to explain my purpose :

 

For the same checked web site, 2 trace logs. The first log shows an unsuccess check, the second log is when all is ok :

 

In this first log, libcurl change connection number from 23 to 5 when issue another request to terminate the NTLM authorization process ==> KO

 

2008/04/01 10H33M24 01 011 056 OSP5 setting[WRITEFUNCTION] option[63645976]

2008/04/01 10H33M24 01 011 056 OSP5 setting[WRITEDATA] option[56]

2008/04/01 10H33M24 01 011 056 OSP5 setting[HEADERFUNCTION] option[63645976]

2008/04/01 10H33M24 01 011 056 OSP5 setting[WRITEHEADER] option[56]

2008/04/01 10H33M24 01 011 056 OSP5 setting[VERBOSE] option[1]

2008/04/01 10H33M24 01 011 056 OSP5 setting[COOKIEFILE] option[fc]

2008/04/01 10H33M24 01 011 056 OSP5 setting[URL] option[http://szihm043.siris.caisse-epargne.fr:8851/SismocubeV5/Applications/SIFNOSPCUC/SIFNMENU.ASPX?C=&U=9994370&B=13705&F=0089614&A=0000160&M=&N=&P=&E=13705]

2008/04/01 10H33M24 01 011 056 OSP5 setting[DEBUGFUNCTION] option[63646312]

2008/04/01 10H33M24 01 011 056 OSP5 setting[DEBUGDATA] option[56]

2008/04/01 10H33M24 01 011 056 OSP5 setting[USERPWD] option[********]

2008/04/01 10H33M24 01 011 056 OSP5 setting[HTTPAUTH] option[8]

2008/04/01 10H33M24 01 011 056 OSP5 setting[HTTPHEADER] option[149565568]

2008/04/01 10H33M24 01 011 056 OSP5 setting[FRESH_CONNECT] option[1]

2008/04/01 10H33M24 01 011 056 OSP5 connexion started avec le handle [149567888]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: INIT => CONNECT handle 0x8ec9eb8; (connection #-5000) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][About to connect() to szihm043.siris.caisse-epargne.fr port 8851 (#23)]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][ Trying 126.16.251.43... ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: CONNECT => WAITCONNECT handle 0x8ec9eb8; (connection #23) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Connected to szihm043.siris.caisse-epargne.fr (126.16.251.43) port 8851 (#23)]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: WAITCONNECT => WAITDO handle 0x8ec9eb8; (connection #23) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Conn 23 send pipe 1 inuse 0 athead 1]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: WAITDO => DO handle 0x8ec9eb8; (connection #23) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Server auth using NTLM with user 'S9994008']

2008/04/01 10H33M24 01 011 056 OSP5 => Send header [2][GET /SismocubeV5/Applications/SIFNOSPCUC/SIFNMENU.ASPX?C=&U=9994370&B=13705&F=0089614&A=0000160&M=&N=&P=&E=13705 HTTP/1.1]

2008/04/01 10H33M24 01 011 056 OSP5 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=

2008/04/01 10H33M24 01 011 056 OSP5 Accept: */*

2008/04/01 10H33M24 01 011 056 OSP5 Host: sismocubev531-pro-1.siris.caisse-epargne.fr

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: DO => DO_DONE handle 0x8ec9eb8; (connection #23) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: DO_DONE => WAITPERFORM handle 0x8ec9eb8; (connection #23) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Conn 23 recv pipe 1 inuse 0 athead 1]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: WAITPERFORM => PERFORM handle 0x8ec9eb8; (connection #23) ]

2008/04/01 10H33M24 01 011 056 OSP5 nombre de transferts CURL en cours [3]

2008/04/01 10H33M24 01 006 056 OSP5 attente de données en réception

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][HTTP 1.1 or later with persistent connection, pipelining supported]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][HTTP/1.1 401 Unauthorized]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][Content-Length: 64]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][Content-Type: text/html]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][Server: Microsoft-IIS/6.0]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][WWW-Authenticate: NTLM TlRMTVNTUAACAAAABQAFADgAAAAGgokC6ZWcibA48fUAAAAAAAAAAM4AzgA9AAAABQLODgAAAA9TSVJJUwIACgBTAEkAUgBJAFMAAQAQAFMAWgBJAEgATQAwADQAMwAEAC4AcwBpAHIAaQBzAC4AYwBhAGkAcwBzAGUALQBlAHAAYQByAGcAbgBlAC4AZgByAAMAQABTAFoASQBIAE0AMAA0ADMALgBzAGkAcgBpAHMALgBjAGEAaQBzAHMAZQAtAGUAcABhAHIAZwBuAGUALgBmAHIABQAuAHMAaQByAGkAcwAuAGMAYQBpAHMAcwBlAC0AZQBwAGEAcgBnAG4AZQAuAGYAcgAAAAAA]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][X-Powered-By: ASP.NET]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][Date: Tue, 01 Apr 2008 08:33:21 GMT]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Ignoring the response-body]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv data [3][<HTML><HEAD><TITLE>401-1</TITLE><BODY>Erreur 401-1</BODY></HTML>]

 

 

Here the switch connection from number 23 to number 5:

 

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Connection #23 to host szihm043.siris.caisse-epargne.fr left intact]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Issue another request to this URL: 'http://szihm043.siris.caisse-epargne.fr:8851/SismocubeV5/Applications/SIFNOSPCUC/SIFNMENU.ASPX?C=&U=9994370&B=13705&F=0089614&A=0000160&M=&N=&P=&E=13705']

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: PERFORM => CONNECT handle 0x8ec9eb8; (connection #-5000) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Re-using existing connection! (#5) with host szihm043.siris.caisse-epargne.fr]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Connected to szihm043.siris.caisse-epargne.fr (126.16.251.43) port 8851 (#5)]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: CONNECT => WAITDO handle 0x8ec9eb8; (connection #5) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Conn 5 send pipe 1 inuse 0 athead 1]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: WAITDO => DO handle 0x8ec9eb8; (connection #5) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Server auth using NTLM with user 'S9994008']

2008/04/01 10H33M24 01 011 056 OSP5 => Send header [2][GET /SismocubeV5/Applications/SIFNOSPCUC/SIFNMENU.ASPX?C=&U=9994370&B=13705&F=0089614&A=0000160&M=&N=&P=&E=13705 HTTP/1.1]

2008/04/01 10H33M24 01 011 056 OSP5 Accept: */*

2008/04/01 10H33M24 01 011 056 OSP5 Host: sismocubev531-pro-1.siris.caisse-epargne.fr

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: DO => DO_DONE handle 0x8ec9eb8; (connection #5) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: DO_DONE => WAITPERFORM handle 0x8ec9eb8; (connection #5) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Conn 5 recv pipe 1 inuse 0 athead 1]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][STATE: WAITPERFORM => PERFORM handle 0x8ec9eb8; (connection #5) ]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][HTTP 1.1 or later with persistent connection, pipelining supported]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][HTTP/1.1 401 Unauthorized]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][Content-Length: 64]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][Content-Type: text/html]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][Server: Microsoft-IIS/6.0]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][WWW-Authenticate: Negotiate]

2008/04/01 10H33M24 01 011 056 OSP5 == Info [0][Authentication problem. Ignoring this.]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][WWW-Authenticate: NTLM]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][X-Powered-By: ASP.NET]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][Date: Tue, 01 Apr 2008 08:33:21 GMT]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv header [1][]

2008/04/01 10H33M24 01 011 056 OSP5 <= Recv data [3][<HTML><HEAD><TITLE>401-2</TITLE><BODY>Erreur 401-2</BODY></HTML>]

 

The second log show what's happened when all is ok :

 

2008/04/01 11H01M33 01 011 056 OSP5 setting[WRITEFUNCTION] option[63645976]

2008/04/01 11H01M33 01 011 056 OSP5 setting[WRITEDATA] option[56]

2008/04/01 11H01M33 01 011 056 OSP5 setting[HEADERFUNCTION] option[63645976]

2008/04/01 11H01M33 01 011 056 OSP5 setting[WRITEHEADER] option[56]

2008/04/01 11H01M33 01 011 056 OSP5 setting[VERBOSE] option[1]

2008/04/01 11H01M33 01 011 056 OSP5 setting[COOKIEFILE] option[fc]

2008/04/01 11H01M33 01 011 056 OSP5 setting[URL] option[http://szihm043.siris.caisse-epargne.fr:8851/SismocubeV5/Applications/SIFNOSPCUC/SIFNMENU.ASPX?C=&U=9994370&B=13705&F=0089614&A=0000160&M=&N=&P=&E=13705]

2008/04/01 11H01M33 01 011 056 OSP5 setting[DEBUGFUNCTION] option[63646312]

2008/04/01 11H01M33 01 011 056 OSP5 setting[DEBUGDATA] option[56]

2008/04/01 11H01M33 01 011 056 OSP5 setting[USERPWD] option[********]

2008/04/01 11H01M33 01 011 056 OSP5 setting[HTTPAUTH] option[8]

2008/04/01 11H01M33 01 011 056 OSP5 setting[HTTPHEADER] option[155430896]

2008/04/01 11H01M33 01 011 056 OSP5 setting[FRESH_CONNECT] option[1]

2008/04/01 11H01M33 01 011 056 OSP5 connexion started avec le handle [150069248]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: INIT => CONNECT handle 0x8e8c7e0; (connection #-5000) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Closing connection #22]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Connection (#22) was killed to make room (holds 24)]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: CONNECT => WAITRESOLVE handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][About to connect() to szihm043.siris.caisse-epargne.fr port 8851 (#22)]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][ Trying 126.16.251.43... ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: WAITRESOLVE => WAITCONNECT handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 nombre de transferts CURL en cours [1]

2008/04/01 11H01M33 01 006 056 OSP5 attente de données en réception

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Connected to szihm043.siris.caisse-epargne.fr (126.16.251.43) port 8851 (#22)]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: WAITCONNECT => WAITDO handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Conn 22 send pipe 1 inuse 0 athead 1]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: WAITDO => DO handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Server auth using NTLM with user 'S9994008']

2008/04/01 11H01M33 01 011 056 OSP5 => Send header [2][GET /SismocubeV5/Applications/SIFNOSPCUC/SIFNMENU.ASPX?C=&U=9994370&B=13705&F=0089614&A=0000160&M=&N=&P=&E=13705 HTTP/1.1]

2008/04/01 11H01M33 01 011 056 OSP5 Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=

2008/04/01 11H01M33 01 011 056 OSP5 Accept: */*

2008/04/01 11H01M33 01 011 056 OSP5 Host: sismocubev531-pro-1.siris.caisse-epargne.fr

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: DO => DO_DONE handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: DO_DONE => WAITPERFORM handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Conn 22 recv pipe 1 inuse 0 athead 1]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: WAITPERFORM => PERFORM handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][HTTP 1.1 or later with persistent connection, pipelining supported]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv header [1][HTTP/1.1 401 Unauthorized]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv header [1][Content-Length: 64]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv header [1][Content-Type: text/html]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv header [1][Server: Microsoft-IIS/6.0]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv header [1][WWW-Authenticate: NTLM TlRMTVNTUAACAAAABQAFADgAAAAGgokC3xGyfNpmIakAAAAAAAAAAM4AzgA9AAAABQLODgAAAA9TSVJJUwIACgBTAEkAUgBJAFMAAQAQAFMAWgBJAEgATQAwADQAMwAEAC4AcwBpAHIAaQBzAC4AYwBhAGkAcwBzAGUALQBlAHAAYQByAGcAbgBlAC4AZgByAAMAQABTAFoASQBIAE0AMAA0ADMALgBzAGkAcgBpAHMALgBjAGEAaQBzAHMAZQAtAGUAcABhAHIAZwBuAGUALgBmAHIABQAuAHMAaQByAGkAcwAuAGMAYQBpAHMAcwBlAC0AZQBwAGEAcgBnAG4AZQAuAGYAcgAAAAAA]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv header [1][X-Powered-By: ASP.NET]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv header [1][Date: Tue, 01 Apr 2008 09:01:30 GMT]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv header [1][]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Ignoring the response-body]

2008/04/01 11H01M33 01 011 056 OSP5 <= Recv data [3][<HTML><HEAD><TITLE>401-1</TITLE><BODY>Erreur 401-1</BODY></HTML>]

 

 

Here to issue another request and terminate the NTLM authorization process, LIBCURL re-uses the same connection (number 22)

 

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Connection #22 to host szihm043.siris.caisse-epargne.fr left intact]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Issue another request to this URL: 'http://szihm043.siris.caisse-epargne.fr:8851/SismocubeV5/Applications/SIFNOSPCUC/SIFNMENU.ASPX?C=&U=9994370&B=13705&F=0089614&A=0000160&M=&N=&P=&E=13705']

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: PERFORM => CONNECT handle 0x8e8c7e0; (connection #-5000) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Re-using existing connection! (#22) with host szihm043.siris.caisse-epargne.fr]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Connected to szihm043.siris.caisse-epargne.fr (126.16.251.43) port 8851 (#22)]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: CONNECT => WAITDO handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Conn 22 send pipe 1 inuse 0 athead 1]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: WAITDO => DO handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Server auth using NTLM with user 'S9994008']

2008/04/01 11H01M33 01 011 056 OSP5 => Send header [2][GET /SismocubeV5/Applications/SIFNOSPCUC/SIFNMENU.ASPX?C=&U=9994370&B=13705&F=0089614&A=0000160&M=&N=&P=&E=13705 HTTP/1.1]

2008/04/01 11H01M33 01 011 056 OSP5 Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAABoKJAnGaOL+Xx031AAAAAAAAAAAAAAAAAAAAALbgqCWzn7M7Z5mOdK1Il1U/WW/89T6pzFM5OTk0MDA4T1o0U1QwNDc=

2008/04/01 11H01M33 01 011 056 OSP5 Accept: */*

2008/04/01 11H01M33 01 011 056 OSP5 Host: sismocubev531-pro-1.siris.caisse-epargne.fr

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: DO => DO_DONE handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: DO_DONE => WAITPERFORM handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][Conn 22 recv pipe 1 inuse 0 athead 1]

2008/04/01 11H01M33 01 011 056 OSP5 == Info [0][STATE: WAITPERFORM => PERFORM handle 0x8e8c7e0; (connection #22) ]

2008/04/01 11H01M34 01 006 056 OSP5 timer d activation CURL atteint

2008/04/01 11H01M34 01 011 056 OSP5 == Info [0][HTTP 1.1 or later with persistent connection, pipelining supported]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][HTTP/1.1 302 Found]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Date: Tue, 01 Apr 2008 09:01:30 GMT]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Server: Microsoft-IIS/6.0]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][X-Powered-By: ASP.NET]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][X-AspNet-Version: 1.1.4322]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Location: /SismocubeV5/Applications/SIFNOSPCUC/EcrSIFNMENU_FNMENU.aspx]

2008/04/01 11H01M34 01 011 056 OSP5 == Info [0][Added cookie ASP.NET_SessionId="vc4xj5vn0eu1ot2phb0unp55" for domain sismocubev531-pro-1.siris.caisse-epargne.fr, path /, expire 0]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Set-Cookie: ASP.NET_SessionId=vc4xj5vn0eu1ot2phb0unp55; path=/]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Cache-Control: no-cache]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Pragma: no-cache]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Expires: -1]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Content-Type: text/html; charset=utf-8]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][Content-Length: 177]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv header [1][]

2008/04/01 11H01M34 01 011 056 OSP5 <= Recv data [3][<html><head><title>Object moved</title></head><body>]

 

 
Received on 2008-04-03