Php 如何从Laravel 5.3中的guzzle中获得响应

Php 如何从Laravel 5.3中的guzzle中获得响应,php,laravel,laravel-5,guzzle,guzzlehttp,Php,Laravel,Laravel 5,Guzzle,Guzzlehttp,我试着这样: $client = new Client(); $res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone/requests/', [ 'headers' => [ 'Accept' => 'application/json', 'Content-Type

我试着这样:

$client = new Client();
$res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone/requests/', [
            'headers' => [
                'Accept' => 'application/json',
                'Content-Type' => 'application/json',
                'Authorization'=>'Bearer '.$token,
                /*'Content-Type' => 'application/x-www-form-urlencoded',*/
            ],
            /*'form_params' => $body ,*/
            'json' => [
                'outboundSMSMessageRequest'=>[
                'address'=> 'tel:+$phone',
                'senderAddress'=>'tel:+phone_rec',
                'outboundSMSTextMessage'=>[
                     'message'=> 'Hello test!'
                ]
            ]],
            'debug'   => true,
            'verify' => false,
                ]
        );
        $res->getStatusCode();
        // 200
        $res->getHeader('content-type');
        // 'application/json; charset=utf8'
        $res->getBody();
执行时,结果是error curl_setopt_array():无法将类型为输出的流表示为STDIO文件* 我怎样才能得到答复

我尝试在邮递员,它成功得到回应


但我尝试使用guzzle,失败了

您可以尝试下面的代码:

try {
    $client = new Client();
    $token = 'token';
    $res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone/requests/', [
            'headers' => [
                'Content-Type' => 'application/json',
                'Authorization'=>'Bearer '. $token,
            ],
            'json' => [
                'outboundSMSMessageRequest'=>[
                    'address'=> "tel:youre-phone",
                    'senderAddress'=>'tel:+phone_rec',
                    'outboundSMSTextMessage'=>[
                        'message'=> 'Hello test!'
                    ]
                ]],
            'debug'   => true,
            'verify' => false,
        ]
    );
    echo $res->getBody();
} catch ( \GuzzleHttp\Exception\ClientException $exception ) {
    echo $exception->getResponse()->getBody();
}

您可以尝试以下代码:

try {
    $client = new Client();
    $token = 'token';
    $res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone/requests/', [
            'headers' => [
                'Content-Type' => 'application/json',
                'Authorization'=>'Bearer '. $token,
            ],
            'json' => [
                'outboundSMSMessageRequest'=>[
                    'address'=> "tel:youre-phone",
                    'senderAddress'=>'tel:+phone_rec',
                    'outboundSMSTextMessage'=>[
                        'message'=> 'Hello test!'
                    ]
                ]],
            'debug'   => true,
            'verify' => false,
        ]
    );
    echo $res->getBody();
} catch ( \GuzzleHttp\Exception\ClientException $exception ) {
    echo $exception->getResponse()->getBody();
}

我是这样决定的

 $requestContent = [
            'headers' => [
                'Accept' => 'application/json',
                'Content-Type' => 'application/json',
                'Authorization'=>'Bearer '.$token,
            ],
            'json' => [
                'outboundSMSMessageRequest'=>[                        
                'address'=> "tel:youre-phone",
                'senderAddress'=>'tel:+phone_rec',
                    'outboundSMSTextMessage'=>[
                        'message'=> 'Hello test !'
                    ]
                ]
            ]
        ];
        try {
            $client = new Client();
            $res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone_rec/requests/', $requestContent);
            $response = json_decode($res->getBody());
            dd($response);
        } catch (RequestException $re) {

        }

我是这样决定的

 $requestContent = [
            'headers' => [
                'Accept' => 'application/json',
                'Content-Type' => 'application/json',
                'Authorization'=>'Bearer '.$token,
            ],
            'json' => [
                'outboundSMSMessageRequest'=>[                        
                'address'=> "tel:youre-phone",
                'senderAddress'=>'tel:+phone_rec',
                    'outboundSMSTextMessage'=>[
                        'message'=> 'Hello test !'
                    ]
                ]
            ]
        ];
        try {
            $client = new Client();
            $res = $client->request('POST', 'https://api.orange.com/smsmessaging/v1/outbound/tel:+phone_rec/requests/', $requestContent);
            $response = json_decode($res->getBody());
            dd($response);
        } catch (RequestException $re) {

        }