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

Ali*_*Zia 4 php curl

我有邮递员的API.我想创建一个CURL请求并获得适当的响应.这是我的POSTMAN API.

在此输入图像描述

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

"{\"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\"}}"
Run Code Online (Sandbox Code Playgroud)

现在我想在我的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>';
Run Code Online (Sandbox Code Playgroud)

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

UPDATE

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

卷曲错误:SSL证书问题:证书链中的自签名证书

Jun*_*ari 10

它非常简单只需单击代码,您将获得PHP中的代码.

你会得到许多语言的代码,如php,java,ruby,javascript,nodejs,shell,swift,pythom,C#等. 在此输入图像描述

在此输入图像描述


Bha*_*hah 5

答案根据更新的问题进行更新。

\n\n

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

\n\n

冗长、耗时但干净

\n\n
    \n
  1. 在网络浏览器中访问 URL。
  2. \n
  3. 打开安全详细信息。
  4. \n
  5. 出口证书。
  6. \n
  7. 相应地更改 cURL 选项。

    \n\n
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);\ncurl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);\ncurl_setopt($ch, CURLOPT_CAINFO, getcwd() . "/CAcerts/BuiltinObjectToken-EquifaxSecureCA.crt");\n
    Run Code Online (Sandbox Code Playgroud)
  8. \n
\n\n

快速但肮脏

\n\n
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

摘自非常详细和精确的文章,并带有屏幕截图,以便更好地理解。请在生产站点实际实施之前参考相同内容。

\n