누구든지 post
JSON을 사용 하는 올바른 방법을 알고 Guzzle
있습니까?
$request = $this->client->post(self::URL_REGISTER,array(
'content-type' => 'application/json'
),array(json_encode($_POST)));
나는 얻을 internal server error
서버에서 응답을. Chrome을 사용하여 작동합니다 Postman
.
답변
들어 목구멍 5, 6, 7 이처럼 수행
use GuzzleHttp\Client;
$client = new Client();
$response = $client->post('url', [
GuzzleHttp\RequestOptions::JSON => ['foo' => 'bar'] // or 'json' => [...]
]);
답변
들면 폭식 <= 4 :
원시 게시물 요청이므로 JSON을 본문에 넣으면 문제가 해결되었습니다.
$request = $this->client->post($url,array(
'content-type' => 'application/json'
),array());
$request->setBody($data); #set body!
$response = $request->send();
return $response;
답변
간단하고 기본적인 방법 (guzzle6) :
$client = new Client([
'headers' => [ 'Content-Type' => 'application/json' ]
]);
$response = $client->post('http://api.com/CheckItOutNow',
['body' => json_encode(
[
'hello' => 'World'
]
)]
);
응답 상태 코드와 본문 내용을 얻으려면 다음과 같이하십시오.
echo '<pre>' . var_export($response->getStatusCode(), true) . '</pre>';
echo '<pre>' . var_export($response->getBody()->getContents(), true) . '</pre>';
답변
이것은 나를 위해 일했다 (Guzzle 6 사용)
$client = new Client();
$result = $client->post('http://api.example.com', [
'json' => [
'value_1' => 'number1',
'Value_group' =>
array("value_2" => "number2",
"value_3" => "number3")
]
]);
echo($result->getBody()->getContents());
답변
$client = new \GuzzleHttp\Client();
$body['grant_type'] = "client_credentials";
$body['client_id'] = $this->client_id;
$body['client_secret'] = $this->client_secret;
$res = $client->post($url, [ 'body' => json_encode($body) ]);
$code = $res->getStatusCode();
$result = $res->json();
답변
$client = new \GuzzleHttp\Client(['base_uri' => 'http://example.com/api']);
$response = $client->post('/save', [
'json' => [
'name' => 'John Doe'
]
]);
return $response->getBody();
답변
이것은 Guzzle 6.2에서 작동합니다.
$gClient = new \GuzzleHttp\Client(['base_uri' => 'www.foo.bar']);
$res = $gClient->post('ws/endpoint',
array(
'headers'=>array('Content-Type'=>'application/json'),
'json'=>array('someData'=>'xxxxx','moreData'=>'zzzzzzz')
)
);
문서 guzzle에 따르면 json_encode를 수행하십시오.