我正在使用TRAK api。
它说我们需要发送一个带有凭据的http请求作为正文。 他告诉我一个方法就是去Hurl 选择帖子,将地址添加为https://trak.addy.co/api/v1/auth/keys 然后单击“在参数中添加主体”。 并使用以下作为身体参数。
{
"email":"m@addy.co",
"password":"foo*bar!",
"name":"addy-dev"
}
这适用于HURL并返回api密钥。
但是当我通过php发送它时,它无效。
$r = new HttpRequest('https://trak.addy.co/api/v1/auth/keys', HttpRequest::METH_POST);
$r->addPostFields(array('email' => 'm@addy.co', 'pass' => 'foo*bar!', 'name' => 'addy-dev'));
try {
echo $r->send()->getBody();
} catch (HttpException $ex) {
echo $ex;
}
我想这是因为它正在发送参数而不是正文?正确吗?
如何在http请求中发送正文?
如果有人知道如何通过jQuery这样做,那么它会有所帮助。
答案 0 :(得分:0)
您似乎需要使用。
将参数添加到请求正文中$r->setBody('[{ "email":"m@addy.co", "password":"foo*bar!", "name":"addy-dev" }]');
只要接收到的另一方将处理身体中发送的参数,这应该有效,否则不会。
您可能还希望通过添加以下行来发送您的请求作为JSON(不确定是否需要)。
$r->addHeaders(array('Content-Type' => 'application/json'));
编辑:修复了addHeaders的语法错误。