我试图让AWS APIGateway实施正在进行,并且我正在尝试从HTTPie模块而不是Postman发送请求。它完全适用于Postman,但HTTPie似乎不适用于我,只会抛出307临时重定向。
使用以下命令:
http POST {userid}.execute-api.ap-southeast-2.amazonaws.com/sqstest/message name=john
输出:
HTTP/1.1 307 Temporary Redirect
Connection: keep-alive
Content-Length: 185
Content-Type: text/html
Date: Mon, 16 Apr 2018 06:28:24 GMT
Location: https://{userid}.execute-api.ap-southeast-2.amazonaws.com/sqstest/message
Server: CloudFront
Via: ################(CloudFront)
X-Amz-Cf-Id: ######################
X-Cache: Redirect from cloudfront
我注意到Content-Type是text / html,考虑到我需要发送一个json,这很奇怪 - 但无论我尝试的命令的哪个变种,它仍然会返回相同的结果。 根据我的理解,只要标题相同(它们减去内容类型,即使我使用-j / - json定义它也不会改变),它应该与Postman相同。
有任何帮助吗? 欢呼声。
答案 0 :(得分:1)
经过几个小时的反复试验,确定错误是在语法中。 在命令上需要https://并将其声明为json,它需要一个分号(:)。
例如:
http POST https://{userid}.execute-api.ap-southeast-2.amazonaws.com/sqstest/message name:=john
与问题中的陈述相反。