Re: [Cppcms-users] 404 not found with valid URL and POST Request
Brought to you by:
artyom-beilis
|
From: Artyom B. <art...@ya...> - 2013-03-11 10:11:11
|
Can you please send me a sample code that reproduces it 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 11:21 AM > Subject: Re: [Cppcms-users] 404 not found with valid URL and POST Request > > Hello > same request with -n to remove this final new line > > echo -ne '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 > > still 404 > > 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=I6c65243c1fa8ff04b2f811a299f8939d; > 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 |o| > 000000b1 > > > As you can see here this is with the correctly formed request (\r\n > everywhere) > > > Regards, > > Allan SIMON > Tatoeba Administrator (Sysko) > > ________________________________________ > De : Artyom Beilis [art...@ya...] > Envoyé : lundi 11 mars 2013 09:09 > À : cpp...@li... > Objet : Re: [Cppcms-users] 404 not found with valid URL and POST Request > > Note this: > >> 000000a0 0d 0a 0d 0a 75 73 65 72 6e 61 6d 65 3d 74 6f 74 > |....username=tot| >> 000000b0 6f 0a |o.| > > > The "0a" at the end 1 byte longer than actual Content-Length > > 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 11:03 AM >> Subject: RE:[Cppcms-users] 404 not found with valid URL and POST Request >> >> 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 >> > > ------------------------------------------------------------------------------ > 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 > |