【问题标题】:Send json post using php curl使用 php curl 发送 json 帖子
【发布时间】:2022-08-07 21:44:44
【问题描述】:

当邮递员在线发布时,我有 json 代码,它可以工作

选择原始和 json 文件

并得到这个输出

{
\"SingleObjectHeader\": {
    \"OrderNo\": \"6\",
    \"OrderSer\": \"202200000153600001\"
},
\"_Result\": {
    \"_Cst_Code\": null,
    \"_Doc_No\": \"0\",
    \"_ErrMsg\": \"The operation accomplished successfully.\",
    \"_ErrNo\": 0,
    \"_ErrStatuse\": true,
    \"_RecordCount\": null
}

}

但是当尝试从 php 发送 post 方法时

得到错误

1012 毫秒后无法连接到 XXXXX.selfip.com 端口 9090:连接被拒绝

通过此链接www.domain.com/forms/saveorder.php

使用这个 php 代码是

    <?php

$url= \"domain.com:9090/OnyxShopMarket/Service.svc/SaveOrder\";

$data_array= array (

 \'activityNumber\'=> \'1\',
  \'year\'=> \'2022\',
  \'type\'=> \'ORACLE\'
 

);

$data = http_build_query($data_array);

$ch = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, array(\'Content-Type:application/json\'));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);


$resp = curl_exec($ch);

if ($e = curl_error($ch)) {
    
    echo $e;
}

else { 

$decoded = json_decode($resp);
foreach($decoded as $key => $val) {
    echo $key . \': \' . $val . \'<br>\';
    
}
}

curl_close($ch);
  • 您好,StackOverflow 是一个我们将帮助您调试您面临的问题的地方,但不会为您编写您需要的代码。请自己尝试并发布您遇到问题的代码。

标签: php json api


【解决方案1】:

如果您可以直接访问数据库并且只需要获取信息,我建议您使用 Laravel 框架。在里面,您可以编写一个订单控制器,对数据库进行查询,如下所示:

$data = DB::connection('oracle')->table('ORDERS')->get();

这将从 ORDERS 表的所有列中获取数据。

或者使用 laravel 的 json 响应方式 文档:https://laravel.com/docs/9.x/responses#json-responses

附言请记住,要在本地使用 Oracle DB,您需要 OCI8 扩展,而对于 laravel,您需要以下包:

亚吉拉/laravel-oci8

不是您问题的直接答案,但您可以从这里开始。 我现在正在研究 Oracle DB 和 JDE ERP,我正在这样做

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    相关资源
    最近更新 更多