这是如何在BASH提示符下工作的:
/testproj> http http://localhost:5000/ping/ &
[1] 10733
(env)
/testproj> HTTP/1.0 200 OK
Content-Length: 2
Content-Type: application/json
Date: Sat, 17 Nov 2018 19:27:01 GMT
Server: Werkzeug/0.14.1 Python/3.6.4
{}
但是当从.sh
:中执行时失败
/testproj> cat x.sh
http http://localhost:5000/ping/ &
(env)
/testproj> ./x.sh
(env)
/testproj> HTTP/1.0 405 METHOD NOT ALLOWED
Allow: GET, HEAD, OPTIONS
Content-Length: 178
Content-Type: text/html
Date: Sat, 17 Nov 2018 19:29:00 GMT
Server: Werkzeug/0.14.1 Python/3.6.4
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method is not allowed for the requested URL.</p>
编辑:http
是HTTPie
编辑:type http
给出http is hashed (/testproj/env/bin/http)
编辑:只需http http://www.google.com </dev/null &
(谢谢@e36freak(就可以重现错误
编辑:来自e36freak在IRC:
这似乎是
stdin
的问题
我只收到了http http://www.google.com </dev/null
的相同错误http
希望stdin
连接到tty
,无论出于什么原因,它看起来都像
在手册页中找不到它,但我确信它在中
您最喜欢的是需要包含--ignore-stdin
选项以防止httpie尝试读取它。请参阅:https://httpie.org/doc#scripting