[英]How to send values as body in http request PHP
我正在使用TRAK api 。
它說我們需要發送一個帶有憑據的http請求作為正文。 他告訴我一種方法是轉到“ URL選擇帖子”,將地址添加為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做到這一點,那將是有幫助的。
看來您需要使用將參數添加到請求的主體中。
$r->setBody('[{ "email":"m@addy.co", "password":"foo*bar!", "name":"addy-dev" }]');
只要對方接收將處理正文中發送的參數,這應該起作用,否則不會起作用。
您可能還想通過添加以下行將請求作為JSON發送(不確定是否需要)。
$r->addHeaders(array('Content-Type' => 'application/json'));
編輯:修復addHeaders的語法錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.