使用curl模拟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)" "-"

但是,尝试使用curlhttpie使用相同的字符串会产生类似以下的日志条目:

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

我只是似乎无法重现完全相同的请求。我尝试了各种命令行参数,但无法弄清楚这一点。

关于如何重现完全相同的请求的任何建议?

r3mainer

您可以使用telnet自由地创建HTTP请求。要启动连接,请在命令行中输入以下命令:

telnet www.example.com 80

(此处,80对应于HTTP请求的端口号)。建立连接后,您会看到以下消息:

Trying 12.34.56.78...
Connected to www.example.com.
Escape character is '^]'.

然后,您可以输入您的请求,例如:

GET /en/library/search?utf8=\xE2\x9C\x93&q=something HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

完成两次回车以标记标题的结尾。

编辑: lcornea的建议也值得考虑。如果您的命令行终端接受UTF8(键入echo $LANG以查找),则键入(或粘贴)字符✓(复选标记),而不是三个转义字符。或者在Windows Latin-1终端上,键入–。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

模拟使用HTTPretty超时的HTTP请求

来自分类Dev

在Angular $ http中使用curl请求

来自分类Dev

使用PHP + cURL的HTTP POST请求

来自分类Dev

Nightwatch模拟HTTP请求

来自分类Dev

模拟angularjs http请求

来自分类Dev

模拟外部HTTP请求

来自分类Dev

模拟 HTTP 请求

来自分类Dev

Python 请求模拟 -X UNLINK curl 请求

来自分类Dev

http帖子请求curl

来自分类Dev

使用Mocha和Sinon在节点中模拟HTTP请求

来自分类Dev

使用HTTPretty模拟扭曲的Web客户端HTTP请求

来自分类Dev

如何使用 Python 请求来模拟我在 curl 中发出的 POST 请求?

来自分类Dev

模拟/测试HTTP获取请求

来自分类Dev

http和ajax请求模拟

来自分类Dev

Angular - 如何模拟 HTTP 请求?

来自分类Dev

使用boost :: asio发送HTTP GET请求,类似于cURL

来自分类Dev

QT的HTTP请求错误,而CURL的请求良好

来自分类Dev

使用curl放置请求

来自分类Dev

使用 curl 请求 mysql

来自分类Dev

使用Moq模拟ControllerBase请求

来自分类Dev

在单元测试中模拟HTTP请求

来自分类Dev

如何使用MockMvc将HTTP请求发送到模拟控制器?

来自分类Dev

使用CURL进行GET请求

来自分类Dev

使用 Curl PHP 的 Soap 请求

来自分类Dev

Golang JSON / HTTP请求,例如curl

来自分类Dev

http:从python请求到等效的curl命令

来自分类Dev

curl捕获http状态并定时请求

来自分类Dev

接收 (recv) 完整请求(例如 curl HTTP)

来自分类Dev

PHP Curl HTTP/1.1 400 错误请求