我想调试一个HTTP请求,在我们的服务器上产生一个错误。但是,我努力以某种方式重现确切的请求。模拟一个HTTP请求与卷曲
在我nginx的日志,我看到它产生的误差
157.55.33.20 - - [22/Nov/2013:04:06:22 +0000] "GET /en/library/search?utf8=\xE2\x9C\x93&q=something HTTP/1.1" 500 0 "-" "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)" "-"
然而此项,尝试使用相同的字符串使用curl
或httpie
产生类似的日志条目:
GET /en/library/search?utf8=\x5CxE2\x5Cx9C\x5Cx93&q=something
或
GET /en/library/search?utf8=xE2x9Cx93&q=something
或
GET /en/library/search?utf8=%5CxE2%5Cx9C%5Cx93&q=something
我似乎无法重现完全相同的请求。我尝试了各种命令行参数,但无法弄清楚这一点。
关于如何重现完全相同的请求的任何建议?
由于网站使用的是SSL,我使用'openssl s_client',在我的nginx日志答案中:'GET/en/library/search?utf8 = \ x5CxE2 \ x5Cx9C \ x5Cx93&q = something' – gingerlime
第二个建议虽然做到了! 'curl'https://my.website.com/en/library/search?utf8 =✓&q = something''再现了这个问题。谢谢!! – gingerlime