[google-appengine] Re: Error 400: app engine + custom domain + /search?q=a|b|c
To Wooble, I can't separate bad from error,fault or wrong results, as a normal/ general/ordinary user I just click on this link to open it http://admins.googleapps.com/system/app/pages/search?q=error|400 I got a correct/exact/right results and then I focus on browser's address box and press return to refresh, then I got a different correct/exact/right results!!! I use Firefox and Chrome browser, should I copy this post to Firefox or Chrome group? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Error 400: app engine + custom domain + /search?q=a|b|c
You are right. /search?q=a|b work fine on google others search engine too, I think the problem placed in ghs.google.com On May 5, 3:15 am, Wooble geoffsp...@gmail.com wrote: RFC1738 requires unsafe characters, including '|', to be urlencoded. Why this works on appspot is a mystery, but I'd guess having it fail on a google apps domain has something to do with how ghs handles mapping URLs to applications. On May 3, 4:30 am, Tag++ tagpp.ad...@gmail.com wrote: Hi,all My app: tagplusplus.appspot.com have bound to domain: gae.tagpp.com Access URL Statushttp://tagplusplus.appspot.com/ OKhttp://tagplusplus.appspot.com/search?q=abc OKhttp://tagplusplus.appspot.com/search?q=a+b+c OKhttp://tagplusplus.appspot.com/search?q=a|b|c OK http://gae.tagpp.com/ OKhttp://gae.tagpp.com/search?q=abc OKhttp://gae.tagpp.com/search?q=a+b+c OKhttp://gae.tagpp.com/search?q=a|b|c Bad Request Error 400 app.yaml: pre application: tagplusplus version: 1 runtime: python api_version: 1 handlers: - url: .* script: main.py /pre main.py: pre class MainPage(webapp.RequestHandler): def get(self): url = self.request.url q = self.request.get('q') s = ('Base: %s, %s' % (q,url)) logging.info(s) self.response.out.write(s) application = webapp.WSGIApplication([ ('/.*', MainPage) ], debug=True) def main(): wsgiref.handlers.CGIHandler().run(application) if __name__ == '__main__': main() /pre I found that the last one requesthttp://gae.tagpp.com/search?q=a|b|c(with '|') can not reach to App engine, there are not any Error/Exception messages produced on App engine end while calling this url, it seems this request have been denied in the front of App engine. Client -- URL Checker/Reuest Dispatcher (ghs.google.com) -- Apps, real request handler (gae.tagpp.com) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Error 400: app engine + custom domain + /search?q=a|b|c
barryhunter, I see what Wooble said. I am a visitor of http://admins.googleapps.com/ I open this site with Firefox browser and input error|400 into the search box which located in top right of screen, and press the Search Site button to submit this query, and I got a response of: Your search for error|400 did not match any pages. Everything work fine, and I want to share this page(search result page) to my friend, so copy the url from address box and send to my friend: http://admins.googleapps.com/system/app/pages/search?q=%22error|400%22 Now, suppose you are my friend, and got this url and paste it back to IE or Firefox, to see the result Until now, what's wrong with Vistor, Firefox or admins.googleapps.com??? IE work fine, it will automatic format '|' to '%7C' when a user submit a form with GET method, but firefox keep '|' in address box Google or Yahoo can handle url with '|' smoothly. On May 5, 5:04 pm, barryhunter barrybhun...@googlemail.com wrote: hasn't Wooble already told you why this is happening? - and that should be enough to work out how to fix it. On May 5, 12:57 am, Tag++ tagpp.ad...@gmail.com wrote: Hi,all Please copy this three url to the address box and press enter, don't click to open it from here. http://www.google.com/search?q=%22bad+request%22|%22error+400%22http://admins.googleapps.com/system/app/pages/search?q=%22bad+request... You will get different kink of response, the last one is a 'Google Sites' with the DNS 'park in' on ghs.google.com To here you should awaken what's the problem: when you call a url with '|' char to those sites, you will get 'Error 400' response! admins.googleapps.com CNAME ghs.google.com ghs.google.com CNAME ghs.l.google.com ghs.l.google.com A 72.14.235.121 So I think my this question is belong to ghs.google.com, not of App Engine. I have post a same question to 'Apps help forum':http://www.google.com/support/forum/p/Google+Apps/thread?tid=696797f6... The original post: My app: tagplusplus.appspot.com have bound to domain: gae.tagpp.com Access URL Statushttp://tagplusplus.appspot.com/ OKhttp://tagplusplus.appspot.com/search?q=abc OKhttp://tagplusplus.appspot.com/search?q=a+b+c OKhttp://tagplusplus.appspot.com/search?q=a|b|c OK http://gae.tagpp.com/ OKhttp://gae.tagpp.com/search?q=abc OKhttp://gae.tagpp.com/search?q=a+b+c OKhttp://gae.tagpp.com/search?q=a|b|c Bad Request Error 400 app.yaml: pre application: tagplusplus version: 1 runtime: python api_version: 1 handlers: - url: .* script: main.py /pre main.py: pre class MainPage(webapp.RequestHandler): def get(self): url = self.request.url q = self.request.get('q') s = ('Base: %s, %s' % (q,url)) logging.info(s) self.response.out.write(s) application = webapp.WSGIApplication([ ('/.*', MainPage) ], debug=True) def main(): wsgiref.handlers.CGIHandler().run(application) if __name__ == '__main__': main() /pre I found that the last one requesthttp://gae.tagpp.com/search?q=a|b|c(with '|') can not reach to App engine, there are not any Error/Exception messages produced on App engine end while calling this url, it seems this request have been denied in the front of App engine. Client -- URL Checker/Request Dispatcher (ghs.google.com) -- Apps, real request handler (gae.tagpp.com) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Error 400: app engine + custom domain + /search?q=a|b|c
Nick Johnson, IE can convert '|' to %7C but Firefox will not! I (a normal visitor) didn't constructing any URL, so this is not Vistor's or Firefox's business, this is Web Server's matter I know some kind of Web Server can handle '|' char, including App Engine, and I am sure something failed on ghs.google.com Did you try this url on firefox browser? http://admins.googleapps.com/system/app/pages/search?q=%22error|400%22 On May 5, 5:15 pm, Nick Johnson (Google) nick.john...@google.com wrote: Hi, '|' characters in URLs should be escaped as %7C. Web browsers will do this for you, but if you're constructing URLs yourself, it's up to you to escape them properly. -Nick Johnson --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Error 400: app engine + custom domain + /search?q=a|b|c
To Nick Johnson, But if you fill out a form (such as a search box) in Firefox, it will correctly URL-escape the | character for the URL Is this real? but my Firefox 3.0.4(Windows XP) or Chrome 1.0.154.59 (Windows XP) always keep the '|' in the address box!!! I have try this test on google search server many many times! On May 5, 6:13 pm, Nick Johnson (Google) nick.john...@google.com wrote: Firefox will send your URL exactly as you enter it, yes. But if you fill out a form (such as a search box) in Firefox, it will correctly URL-escape the | character for the URL. Internet Explorer behaves in the same manner, so any URL generated by a form will have the | character correctly escaped. Google's servers returning a 400 for URLs containing an unescaped | character is not a bug in the server - they're correctly obeying the relevant RFCs. -Nick Johnson --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Error 400: app engine + custom domain + /search?q=a|b|c
To Nick Johnson, http://www.google.com/search?hl=enq=error|400+^bad+~request+{goog}+\to+[OR]+`go`btnG=Search http://search.yahoo.com/search?hl=enq=error|400+^bad+~request+{goog}+\to+[OR]+`go`btnG=Search http://en.wikipedia.org/wiki/Special:Search?search=error|400+^bad+~request+{goog}+\to+[OR] This three urls work fine on Chrome or Firefox 3.0.4, I think the browser keep those 'unsafe characters' in the address box, because it belief the Web Server should be accept them, so is the RFC1738/ ghs.google.com outdated? or Firefox did not following the standard? On May 5, 6:37 pm, Nick Johnson (Google) nick.john...@google.com wrote: On Tue, May 5, 2009 at 11:28 AM, Tag++ tagpp.ad...@gmail.com wrote: To Nick Johnson, But if you fill out a form (such as a search box) in Firefox, it will correctly URL-escape the | character for the URL Is this real? but my Firefox 3.0.4(Windows XP) or Chrome 1.0.154.59 (Windows XP) always keep the '|' in the address box!!! I've since discovered that although Firefox 2 escapes the | character in the address box, Firefox 3 does not, and instead escapes it when sent to the server. -Nick Johnson --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Error 400: app engine + custom domain + /search?q=a|b|c
To Nick Johnson, I am normal visitor now, I didn't do any URL encoding, I use the popular browser, including Chrome from google. I want to making a comparison between popular Web Server(Google Search Server,Yahoo Search Server,Wikipedia.org) and RFC follower (ghs.google.com: admins.googleapps.com) I copy this four url to Chrome and running Wireshark(Ethereal) monitor in sync: http://www.google.com/search?hl=enq=error|400+^bad+~request+{goog}+\to+[OR]+`go`btnG=Search http://search.yahoo.com/search?hl=enq=error|400+^bad+~request+{goog}+\to+[OR]+`go`btnG=Search http://en.wikipedia.org/wiki/Special:Search?search=error|400+^bad+~request+{goog}+\to+[OR] http://admins.googleapps.com/system/app/pages/search?q=error|400 Here is the results: http://www.google.com/search?hl=enq=error|400+^bad+~request+{goog}+\to+[OR]+`go`btnG=Search GET /search?hl=enq=error|400+^bad+~request+{goog}+\to+[OR] +`go`btnG=Search HTTP/1.1 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.59 Safari/525.19 Cache-Control: max-age=0 Accept: text/xml,application/xml,application/xhtml+xml,text/ html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Encoding: gzip,deflate,bzip2,sdch Cookie: SS=Q0=ZXJyb3J8NDAwIF5iYWQgfnJlcXVlc3Qge2dvb2d9IFx0byBbT1JdIGBnb2A; PREF=ID=fe12fd1a0173fe4f:U=353e139915e1a04d:TM=1241507257:LM=1241517635:S=fHsk8nSgRIhgbcMx; NID=22=DDPkCYZFMBGElbmJTDCMYlkTH9JiK-4s5wu7THnHryfRan12NsupUxZ22Ex93mtue8rIJPsvwkVnZIVkgcyiJORl_DKUI2VbjHaDUWuUiN5Zy5sekqS0n- Cy3sovwURW Accept-Language: en-US,en Accept-Charset: ISO-8859-1,*,utf-8 Host: www.google.com Connection: Keep-Alive HTTP/1.1 200 OK Cache-Control: private, max-age=0 Date: Tue, 05 May 2009 11:33:50 GMT Expires: -1 Content-Type: text/html; charset=UTF-8 Set-Cookie: SS=Q0=ZXJyb3J8NDAwIF5iYWQgfnJlcXVlc3Qge2dvb2d9IFx0byBbT1JdIGBnb2A; path=/search Server: gws Transfer-Encoding: chunked Content-Encoding: gzip http://search.yahoo.com/search?hl=enq=error|400+^bad+~request+{goog}+\to+[OR]+`go`btnG=Search GET /search?hl=enq=error|400+^bad+~request+{goog}+\to+[OR] +`go`btnG=Search HTTP/1.1 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.59 Safari/525.19 Accept: text/xml,application/xml,application/xhtml+xml,text/ html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Encoding: gzip,deflate,bzip2,sdch Cookie: B=3gbvl8150066sb=3s=20; sSN=5KQYzcU2wWFqlq8uHtcu48gBXYhpMjv2tjR8tsxUYrq6BvycSGmb1Ts5yrp1NVKxwkeoSp2zeGcJTf1S6N40CA-- Accept-Language: en-US,en Accept-Charset: ISO-8859-1,*,utf-8 Host: search.yahoo.com Connection: Keep-Alive HTTP/1.1 200 OK Date: Tue, 05 May 2009 11:34:15 GMT P3P: policyref=http://p3p.yahoo.com/w3c/p3p.xml;, CP=CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV Set-Cookie: sSN=WIMQEXg2wWEmn_LKPNkqX7ool_yNxuPZoR9VrTk.ii7Je1Z9ECrJKyBmpH1huFCtdplpzDZQPgM7y6UUpvgHsA--; path=/; domain=.search.yahoo.com Cache-Control: private Connection: close Transfer-Encoding: chunked Content-Type: text/html; charset=UTF-8 Content-Encoding: gzip http://en.wikipedia.org/wiki/Special:Search?search=error|400+^bad+~request+{goog}+\to+[OR] GET /wiki/Special:Search?search=error|400+^bad+~request+{goog}+\to+ [OR] HTTP/1.1 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.59 Safari/525.19 Accept: text/xml,application/xml,application/xhtml+xml,text/ html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Encoding: gzip,deflate,bzip2,sdch Accept-Language: en-US,en Accept-Charset: ISO-8859-1,*,utf-8 Host: en.wikipedia.org Connection: Keep-Alive HTTP/1.0 200 OK Date: Tue, 05 May 2009 11:34:25 GMT Server: Apache X-Powered-By: PHP/5.2.4-2ubuntu5wm1 Cache-Control: private, s-maxage=0, max-age=0, must-revalidate Content-Language: en Vary: Accept-Encoding,Cookie X-Vary-Options: Accept-Encoding;list-contains=gzip,Cookie;string- contains=enwikiToken;string-contains=enwikiLoggedOut;string- contains=enwiki_session;string-contains=centralauth_Token;string- contains=centralauth_Session;string-contains=centralauth_LoggedOut Expires: Thu, 01 Jan 1970 00:00:00 GMT Content-Encoding: gzip Content-Length: 4546 Content-Type: text/html; charset=utf-8 X-Cache: MISS from sq24.wikimedia.org X-Cache-Lookup: MISS from sq24.wikimedia.org:3128 X-Cache: MISS from sq16.wikimedia.org X-Cache-Lookup: MISS from sq16.wikimedia.org:80 Via: 1.1 sq24.wikimedia.org:3128 (squid/2.7.STABLE6), 1.0 sq16.wikimedia.org:80 (squid/2.7.STABLE6) Connection: keep-alive http://admins.googleapps.com/system/app/pages/search?q=error|400 GET /system/app/pages/search?q=error|400 HTTP/1.1 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.59 Safari/525.19 Cache-Control: max-age=0 Accept: text/xml,application/xml,application/xhtml+xml,text/
[google-appengine] Re: Error 400: app engine + custom domain + /search?q=a|b|c
Like others general visitors, I often copy a url from address box and share to friends If you submit a search by click 'Search' button, Firefox will escape '|' to '%7c' and send to Web Server, but it will keep '|' remain in the address box If you paste 'error%7C400' to Firefox and press enter to submit, Firefox will convert '7%C' to '|', you will see 'error|400' in the address box, why??? I found that those server named 'GFE 1.3/2.0' can not accept the '|' char, but GWS or 'Google Frontend' does, so I guess GFE's real name is 'Google Firewall Edge', a firewall must be fast and secure, means it has been simplified or lightweighted? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Binding appspot to google custom domain cause Error 400
app.yaml: pre application: tagplusplus version: 1 runtime: python api_version: 1 handlers: - url: .* script: main.py /pre main.py: pre class MainPage(webapp.RequestHandler): def get(self): url = self.request.url q = self.request.get('q') s = ('Base: %s, %s' % (q,url)) logging.info(s) self.response.out.write(s) application = webapp.WSGIApplication([ ('/.*', MainPage) ], debug=True) def main(): wsgiref.handlers.CGIHandler().run(application) if __name__ == '__main__': main() /pre http://tagplusplus.appspot.com/search?q=a|b|c OK http://gae.tagpp.com/search?q=a|b|c Error 400 --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Error 400: app engine + custom domain + /search?q=a|b|c
Hi,all My app: tagplusplus.appspot.com have bound to domain: gae.tagpp.com Access URL Status http://tagplusplus.appspot.com/ OK http://tagplusplus.appspot.com/search?q=abc OK http://tagplusplus.appspot.com/search?q=a+b+c OK http://tagplusplus.appspot.com/search?q=a|b|c OK http://gae.tagpp.com/ OK http://gae.tagpp.com/search?q=abc OK http://gae.tagpp.com/search?q=a+b+c OK http://gae.tagpp.com/search?q=a|b|c Bad Request Error 400 app.yaml: pre application: tagplusplus version: 1 runtime: python api_version: 1 handlers: - url: .* script: main.py /pre main.py: pre class MainPage(webapp.RequestHandler): def get(self): url = self.request.url q = self.request.get('q') s = ('Base: %s, %s' % (q,url)) logging.info(s) self.response.out.write(s) application = webapp.WSGIApplication([ ('/.*', MainPage) ], debug=True) def main(): wsgiref.handlers.CGIHandler().run(application) if __name__ == '__main__': main() /pre I found that the last one request http://gae.tagpp.com/search?q=a|b|c(with '|') can not reach to App engine, there are not any Error/Exception messages produced on App engine end while calling this url, it seems this request have been denied in the front of App engine. Client -- URL Checker/Reuest Dispatcher (ghs.google.com) -- Apps, real request handler (gae.tagpp.com) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Error 400: app engine + custom domain + /search?q=a|b|c
Hi,all Please copy this three url to the address box and press enter, don't click to open it from here. http://www.google.com/search?q=%22bad+request%22|%22error+400%22 http://admins.googleapps.com/system/app/pages/search?q=%22bad+request%22 http://admins.googleapps.com/system/app/pages/search?q=%22bad+request%22|%22error+400%22 You will get different kink of response, the last one is a 'Google Sites' with the DNS 'park in' on ghs.google.com To here you should awaken what's the problem: when you call a url with '|' char to those sites, you will get 'Error 400' response! admins.googleapps.com CNAME ghs.google.com ghs.google.com CNAME ghs.l.google.com ghs.l.google.comA 72.14.235.121 So I think my this question is belong to ghs.google.com, not of App Engine. I have post a same question to 'Apps help forum': http://www.google.com/support/forum/p/Google+Apps/thread?tid=696797f63b0a0ea5hl=en The original post: My app: tagplusplus.appspot.com have bound to domain: gae.tagpp.com Access URL Status http://tagplusplus.appspot.com/ OK http://tagplusplus.appspot.com/search?q=abc OK http://tagplusplus.appspot.com/search?q=a+b+c OK http://tagplusplus.appspot.com/search?q=a|b|c OK http://gae.tagpp.com/ OK http://gae.tagpp.com/search?q=abc OK http://gae.tagpp.com/search?q=a+b+c OK http://gae.tagpp.com/search?q=a|b|c Bad Request Error 400 app.yaml: pre application: tagplusplus version: 1 runtime: python api_version: 1 handlers: - url: .* script: main.py /pre main.py: pre class MainPage(webapp.RequestHandler): def get(self): url = self.request.url q = self.request.get('q') s = ('Base: %s, %s' % (q,url)) logging.info(s) self.response.out.write(s) application = webapp.WSGIApplication([ ('/.*', MainPage) ], debug=True) def main(): wsgiref.handlers.CGIHandler().run(application) if __name__ == '__main__': main() /pre I found that the last one request http://gae.tagpp.com/search?q=a|b|c(with '|') can not reach to App engine, there are not any Error/Exception messages produced on App engine end while calling this url, it seems this request have been denied in the front of App engine. Client -- URL Checker/Request Dispatcher (ghs.google.com) -- Apps, real request handler (gae.tagpp.com) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---