Re: [Cppcms-users] 404 not found with valid URL and POST Request
Brought to you by:
artyom-beilis
|
From: SIMON A. <All...@su...> - 2013-03-11 09:20:11
|
Hello Just to be sure we're not misunderstood, the one without \r , that i agree with you should not be working is actually the only one working, the correct one (see in second part) is the one not working //// first one working (with \r missing before content length) echo -e 'POST /users/register-new_treat HTTP/1.1\r\nHost: en.tatolocal:8080\r\nAccept-Encoding: identity\nContent-Length: 13\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\nusername=toto' | nc en.tatolocal 8080 it return me this HTTP/1.0 302 Found Server: CppCMS-Embedded/1.0.3 Connection: close Content-Type: text/html; charset=utf-8 Location: / Status: 302 Found X-Powered-By: CppCMS/1.0.3 Set-Cookie:cppcms_session=I01e13278542b89e62db1dfe541b8d790; Domain=.tatolocal:8080; Max-Age=604800; Path=/; Version=1 which what i expect dump of the echo 00000000 50 4f 53 54 20 2f 75 73 65 72 73 2f 72 65 67 69 |POST /users/regi| 00000010 73 74 65 72 2d 6e 65 77 5f 74 72 65 61 74 20 48 |ster-new_treat H| 00000020 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 65 |TTP/1.1..Host: e| 00000030 6e 2e 74 61 74 6f 6c 6f 63 61 6c 3a 38 30 38 30 |n.tatolocal:8080| 00000040 0d 0a 41 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e |..Accept-Encodin| 00000050 67 3a 20 69 64 65 6e 74 69 74 79 0a 43 6f 6e 74 |g: identity.Cont| 00000060 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 31 33 0d 0a |ent-Length: 13..| 00000070 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 |Content-Type: ap| 00000080 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 2d |plication/x-www-| 00000090 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 0d |form-urlencoded.| 000000a0 0a 0d 0a 75 73 65 72 6e 61 6d 65 3d 74 6f 74 6f |...username=toto| /////// second one (with \r\n everywhere but this Don't work , though we agree it should echo -e 'POST /users/register-new_treat HTTP/1.1\r\nHost: en.tatolocal:8080\r\nAccept-Encoding: identity\r\nContent-Length: 13\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\nusername=toto' | nc en.tatolocal 8080 output HTTP/1.0 404 Not Found Server: CppCMS-Embedded/1.0.3 Connection: close Content-Type: text/html; charset=utf-8 Status: 404 Not Found X-Powered-By: CppCMS/1.0.3 Set-Cookie:cppcms_session=I812cba2aefe6403e7998ff93f3e73189; Domain=.tatolocal:8080; Max-Age=604800; Path=/; Version=1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>404 — Not Found</title> </head> <body> <h1>404 — Not Found</h1> </body> </html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>404 — Not Found</title> </head> <body> <h1>404 — Not Found</h1> </body> </html> 00000000 50 4f 53 54 20 2f 75 73 65 72 73 2f 72 65 67 69 |POST /users/regi| 00000010 73 74 65 72 2d 6e 65 77 5f 74 72 65 61 74 20 48 |ster-new_treat H| 00000020 54 54 50 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 65 |TTP/1.1..Host: e| 00000030 6e 2e 74 61 74 6f 6c 6f 63 61 6c 3a 38 30 38 30 |n.tatolocal:8080| 00000040 0d 0a 41 63 63 65 70 74 2d 45 6e 63 6f 64 69 6e |..Accept-Encodin| 00000050 67 3a 20 69 64 65 6e 74 69 74 79 0d 0a 43 6f 6e |g: identity..Con| 00000060 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 31 33 0d |tent-Length: 13.| 00000070 0a 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 |.Content-Type: a| 00000080 70 70 6c 69 63 61 74 69 6f 6e 2f 78 2d 77 77 77 |pplication/x-www| 00000090 2d 66 6f 72 6d 2d 75 72 6c 65 6e 63 6f 64 65 64 |-form-urlencoded| 000000a0 0d 0a 0d 0a 75 73 65 72 6e 61 6d 65 3d 74 6f 74 |....username=tot| 000000b0 6f 0a |o.| Regards, Allan SIMON Tatoeba Administrator (Sysko) ________________________________________ De : Artyom Beilis [art...@ya...] Envoyé : lundi 11 mars 2013 08:45 À : cpp...@li... Objet : Re: [Cppcms-users] 404 not found with valid URL and POST Request Can you give a hexdump of your echo command, because with -e there is still a redundend new line (after content length) so the content that is sent is actually bigger than it should be. It seems that because you do not put '\r' than the Content-Length is ignored and not treated. Also can give the response of the web server. Artyom Beilis -------------- CppCMS - C++ Web Framework: http://cppcms.com/ CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ ----- Original Message ----- > From: SIMON Allan <All...@su...> > To: Artyom Beilis <art...@ya...>; "cpp...@li..." <cpp...@li...> > Cc: > Sent: Monday, March 11, 2013 8:11 AM > Subject: Re: [Cppcms-users] 404 not found with valid URL and POST Request > > Artyom > > Sorry my echo has an alias on -e , so actually my previous are to read like > echo -e , and as said I first discover the problem in my python script that > use httplib to generate the http request. > Regards, > > Allan SIMON > Tatoeba Administrator (Sysko) > > ________________________________________ > De : Artyom Beilis [art...@ya...] > Envoyé : lundi 11 mars 2013 06:02 > À : cpp...@li... > Objet : Re: [Cppcms-users] 404 not found with valid URL and POST Request > > Allan, > > You are missing something important: > > $ echo echo 'POST /users/register-new_treat HTTP/1.1\r\nHost: > en.tatolocal:8080\r\nAccept-Encoding: identity\nContent-Length: > 13\r\ent-Type: > application/x-www-form-urlencoded\r\n\r\nusername=toto' | > hexdump -C > 00000000 65 63 68 6f 20 50 4f 53 54 20 2f 75 73 65 72 73 |echo POST /users| > 00000010 2f 72 65 67 69 73 74 65 72 2d 6e 65 77 5f 74 72 |/register-new_tr| > 00000020 65 61 74 20 48 54 54 50 2f 31 2e 31 5c 72 5c 6e |eat > HTTP/1.1\r\n| > 00000030 48 6f 73 74 3a 20 65 6e 2e 74 61 74 6f 6c 6f 63 |Host: en.tatoloc| > 00000040 61 6c 3a 38 30 38 30 5c 72 5c 6e 41 63 63 65 70 > |al:8080\r\nAccep| > 00000050 74 2d 45 6e 63 6f 64 69 6e 67 3a 20 69 64 65 6e |t-Encoding: iden| > 00000060 74 69 74 79 5c 6e 43 6f 6e 74 65 6e 74 2d 4c 65 > |tity\nContent-Le| > 00000070 6e 67 74 68 3a 20 31 33 5c 72 5c 6e 43 6f 6e 74 |ngth: > 13\r\nCont| > 00000080 65 6e 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 |ent-Type: applic| > 00000090 61 74 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d |ation/x-www-form| > 000000a0 2d 75 72 6c 65 6e 63 6f 64 65 64 5c 72 5c 6e 5c > |-urlencoded\r\n\| > 000000b0 72 5c 6e 75 73 65 72 6e 61 6d 65 3d 74 6f 74 6f > |r\nusername=toto| > 000000c0 0a |.| > 000000c1 > $ > > echo '\r\n' gives output > > "\r\n" (4 bytes "\" "r" > "\" "n") > > And not 2 bytes CR-LF bytes \x13\x10 > > Artyom Beilis > -------------- > CppCMS - C++ Web Framework: http://cppcms.com/ > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > > >> ________________________________ >> From: SIMON Allan <All...@su...> >> To: Artyom Beilis <art...@ya...>; > "cpp...@li..." > <cpp...@li...> >> Sent: Monday, March 11, 2013 5:25 AM >> Subject: Re: [Cppcms-users] 404 not found with valid URL and POST Request >> >> >> >> Hello >> >> Actually that's the one with only \n which is working (though as > you said it's supposed to be the \r\n which should work), maybe my > previous mail wasn't clear. >> Note that the echo here is only to make simpler to see/test , I'm > actually using python and httplib, and I've dumped the request using > set_debuglevel >> >> >> >> Regards, >> >> Allan SIMON >> Tatoeba Administrator (Sysko) >> >> >> ________________________________ >> >> De : Artyom Beilis [art...@ya...] >> Envoyé : dimanche 10 mars 2013 20:18 >> À : cpp...@li... >> Objet : Re: [Cppcms-users] 404 not found with valid URL and POST Request >> >> >> HTTP requires that the headers are separated with CR/LF i.e. \r\n. >> The request that uses "\n" only is not an HTTP request, also > many >> web servers accept it as well. >> >> >> Internal CppCMS web server designed mostly for embedded applications >> and debugging and requires confirming headers. >> >> >> Also note that in echo you can't path "\r\n" the way > you do :-) >> >> Artyom Beilis >> -------------- >> CppCMS - C++ Web Framework: http://cppcms.com/ >> CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ >> >> >> >>> ________________________________ >>> From: SIMON Allan <All...@su...> >>> To: "cpp...@li..." > <cpp...@li...> >>> Sent: Sunday, March 10, 2013 8:55 PM >>> Subject: [Cppcms-users] 404 not found with valid URL and POST Request >>> >>> >>> >>> Hello >>> >>> When I try to test my code with the embedded http server (there's > no problem when using the FastCGI interface) the following request fail >>> >>> echo 'POST /users/register-new_treat HTTP/1.1\r\nHost: > en.tatolocal:8080\r\nAccept-Encoding: > identity\r\nContent-Length: 13\r\nContent-Type: > application/x-www-form-urlencoded\r\n\r\nusername=toto' | nc > en.tatolocal 8080 >>> >>> but if I remove the \r just before ContentLength, it works > correctly >>> >>> >>> echo 'POST /users/register-new_treat HTTP/1.1\r\nHost: > en.tatolocal:8080\r\nAccept-Encoding: identity\nContent-Length: > 13\r\nContent-Type: > application/x-www-form-urlencoded\r\n\r\nusername=toto' | nc > en.tatolocal 8080 >>> >>> I suppose it's certainly a little problem in the code which is > parsing the HTTP request ? >>> >>> >>> >>> >>> >>> Regards, >>> >>> Allan SIMON >>> Tatoeba Administrator (Sysko) >>> >>> ------------------------------------------------------------------------------ >>> Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester >>> Wave(TM): Endpoint Security, Q1 2013 and "remains a good > choice" in the >>> endpoint security space. For insight on selecting the right partner to >>> tackle endpoint security challenges, access the full report. >>> http://p.sf.net/sfu/symantec-dev2dev >>> _______________________________________________ >>> Cppcms-users mailing list >>> Cpp...@li... >>> https://lists.sourceforge.net/lists/listinfo/cppcms-users >>> >>> >>> >> ------------------------------------------------------------------------------ >> Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester >> Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" > in the >> endpoint security space. For insight on selecting the right partner to >> tackle endpoint security challenges, access the full report. >> http://p.sf.net/sfu/symantec-dev2dev >> _______________________________________________ >> Cppcms-users mailing list >> Cpp...@li... >> https://lists.sourceforge.net/lists/listinfo/cppcms-users >> >> >> > > ------------------------------------------------------------------------------ > Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester > Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in > the > endpoint security space. For insight on selecting the right partner to > tackle endpoint security challenges, access the full report. > http://p.sf.net/sfu/symantec-dev2dev > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > ------------------------------------------------------------------------------ > Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester > Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in > the > endpoint security space. For insight on selecting the right partner to > tackle endpoint security challenges, access the full report. > http://p.sf.net/sfu/symantec-dev2dev > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > ------------------------------------------------------------------------------ Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the endpoint security space. For insight on selecting the right partner to tackle endpoint security challenges, access the full report. http://p.sf.net/sfu/symantec-dev2dev _______________________________________________ Cppcms-users mailing list Cpp...@li... https://lists.sourceforge.net/lists/listinfo/cppcms-users |