首页 > 解决方案 > 如何在 php laravel 5.5 中正确设置 curl 请求

问题描述

我正在尝试提出 curl 请求!在这里,我可以使用邮递员提出这个请求,并且我使用邮递员得到了完美的响应:

我的 Body 参数是:sub_domain 而我的标头是x-api-keyvalue is somethingZYWHUYAOSYSOASYYY

Ind我可以得到完美的回应!但是这里想对我提出 curl 请求:

我的控制器代码:

     public function curlPost()
      {
    $data1 = [
        'sub_domain' => 'value_1',
    ];

    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => "https://uwxcdwsc0k.execute-api.us-east- 
        1.amazonaws.com/prod/domain",
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => "",
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 30000,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => "POST",
        CURLOPT_POSTFIELDS => json_encode($data1),
        CURLOPT_HTTPHEADER => array(
            // Set here required headers
            "x-api-key: KiZTkTO9Ex2ZCOr7xmYRA4bInlJc9kVNrVN2INrc",
        ),
    ));

    $response = curl_exec($curl);
    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
        echo "cURL Error #:" . $err;
    } else {
        print_r(json_decode($response));
    }
}

和我的路线/api.php:

 Route::post('subdomain', 'ApiController@curlPost');

当我使用邮递员点击发布请求时,我得到了错误

       stdClass Object
          (
         [code] => [422] Unprocessable Entity
          [message] => sub_domain is required
           )

您的帮助将不胜感激!

标签: phplaravelcurl

解决方案


使 $data 成为一个数组,如下所示:

   $data1 = array(
     'sub_domain' => 'value_1'

    );

干杯


推荐阅读