首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用HTTPie发送POST请求?

如何使用HTTPie发送POST请求?
EN

Stack Overflow用户
提问于 2015-10-14 23:05:15
回答 2查看 12.8K关注 0票数 11

我有一个基本的silex应用程序,并尝试使用HTTPie对其进行测试。然而,当使用以下方式发帖时:

代码语言:javascript
复制
http POST http://localhost:1337 data="hello world"

我通过以下方式从请求对象获取的data

代码语言:javascript
复制
$data = $request->request->get('data');

将始终为空。这里的问题是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-14 23:05:15

这是一个httpie使用问题,因为form标志是必需的,因为HTTPie要求参数是表单编码的,而HTTPie的默认设置是传递一个JSON对象。

代码语言:javascript
复制
$ http --form POST http://localhost:1337 data="hello world"

HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: close
Content-Type: application/json
Date: Wed, 14 Oct 2015 15:04:09 GMT
Host: localhost:1337
X-Powered-By: PHP/5.5.9-1ubuntu4.13

{
    "message": "hello world"
}
票数 17
EN

Stack Overflow用户

发布于 2019-11-21 22:46:48

为了澄清kOpernikus所说的话,当您使用httpie发出POST请求时,请使用以下语法:

代码语言:javascript
复制
   http --form post :3000/register username="gilbert" password="stackoverflow!"

或者,由于表单是用于post请求的,您可以省略post,也可以将--form缩写为-f,如下所示:

代码语言:javascript
复制
   http -f :3000/register username=gilbert password=stackoverflow!

编辑(感谢天线)

要在post请求中将csrf令牌作为标头传递,请执行以下操作:

代码语言:javascript
复制
http --form POST http://localhost:8000/login/ username=user password=pass X-CSRFToken:assQ$%auxASDLSIAJSd
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33128993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档