加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何将POSTMAN中的数据转换为PHP Curl Request?

发布时间:2020-12-13 21:56:26 所属栏目:PHP教程 来源:网络整理
导读:我有邮递员的API.我想创建一个CURL请求并获得适当的响应.这是我的POSTMAN API. 我成功地得到了这个回应. "{"Request":{"state":"Manama","address":"406 Falcon Tower","address2":"Diplomatic Area","city":"Manama","country":"BH",
我有邮递员的API.我想创建一个CURL请求并获得适当的响应.这是我的POSTMAN API.

enter image description here

我成功地得到了这个回应.

"{"Request":{"state":"Manama","address":"406 Falcon Tower","address2":"Diplomatic Area","city":"Manama","country":"BH","fullname":"Dawar Khan","postal":"317"},"Response":{"status":"Success","code":100,"message":"Address is verified"}}"

现在我想在我的PHP代码中使用这个API调用.我用过这段代码.

$data = array(
        'Request' => 'ValidateAddress','address' => test_input($form_data->address),'secondAddress' => test_input($form_data->secondAddress),'city' => test_input($form_data->city),'country' => test_input($form_data->country),'name' => test_input($form_data->name),'zipCode' => test_input($form_data->zipCode),'merchant_id' => 'shipm8','hash' => '09335f393d4155d9334ed61385712999'
    );
    $data_string = json_encode($data);

    $url = 'myurl.com/';

    $ch = curl_init($url);
    curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"POST");
    curl_setopt($ch,CURLOPT_POSTFIELDS,$data_string);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_HTTPHEADER,array(
        'Content-Type: application/json','Content-Length: ' . strlen($data_string))
    );
    $result = curl_exec($ch);
    curl_close($ch);
    $json_result = json_decode($result,true);
    echo '<pre>';print_r($json_result);echo '</pre>';

但我看不到我的$json_result.它只是回应< pre>< / pre>在视图中.谁能指导我?提前致谢.我想得到我的回复.

UPDATE

我使用了curl_error,它给了我以下错误.

Curl error: SSL certificate problem: self signed certificate in certificate chain

解决方法

根据更新的问题更新答案.

有两种方法可以解决这个问题

冗长,耗时但干净

>在Web浏览器中访问URL.
>打开安全细节.
>出口证明.
>相应地更改cURL选项.

curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);
curl_setopt($ch,CURLOPT_CAINFO,getcwd() . "/CAcerts/BuiltinObjectToken-EquifaxSecureCA.crt");

快但脏

curl_setopt($ch,false);

我们正在配置cURL以接受任何服务器(对等)证书.从安全角度来看,这不是最佳选择.

摘录自very detailed and precise article的截图,以便更好地理解.请在生产现场实际实施之前参考相同的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读