曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4659|回复: 0
打印 上一主题 下一主题

curl 与 400 bad request

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2011-12-11 15:22:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在用 curl 时可能会遇到服务器返回 “400 bad request” 的错误,此时恰好服务器上用的是 NGINX ,你可能会在搜索引擎里搜“nginx 400 bad request",并误入歧途的认为是服务器的问题,可能会去修改下面两个参数:
[Plain Text] 纯文本查看 复制代码
client_header_buffer_size 16k;large_client_header_buffers 4 64k;
但纵使修改后,再次试验还是会返回 400 错误。此时需要回头考虑程序里的处理。在 Linux 里处理 Windows 里编辑的文本,最容易遇到也最容易忽略的一个隐蔽错误是 Windows 的换行符(\r\n) 。比如你从某个网页里提取某个 HASH 校验码时,貌似提取出来是成功了也毫无问题,但是假如这个校验码刚好落在一个换行的位置:
hashverify = 018282       //注意,这里换行了
//something else
如果是在 shell 脚本里处理的,那么可以考虑用 tr 命令去掉这个换行符,如 tr -d '\r\n' 。这样提取出来的校验码就是正确的了,否则隐含着一个换行符。这样在你 POST 出数据时,就很有可能遇到 "400 bad request" 的错误了。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 16:42 , Processed in 0.087831 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表