开发者社区> 问答> 正文

PHP使用curl_init post 提交json 或 SoapClient 外部服务器报错

使用curl_init:

$serviceURL = 'http://61.153.225.106:5678/Service.asmx/tests';
 $ch = curl_init ( $serviceURL );
 curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, "POST" );
 curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $strjson ); //全部数据使用HTTP协议的POST操作来发送
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
 curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, false );
 curl_setopt ( $ch, CURLOPT_HTTPHEADER, array (
 'Content-Type: application/json; charset=utf-8;',
 'Content-Length: ' . strlen ( $strjson )
 ) );
 curl_setopt($ch,CURLOPT_POST,1);
 $result = curl_exec ( $ch );
 $errorNo = curl_errno ( $ch );
 echo $errorNo; //错误号 输出0
 echo "error:".curl_error($ch);
 echo $result; //执行信息 报错
curl_close ( $ch );

screenshot

json字符串:{"ccode":"1234ew4" , "ddate":"2015-12-16", "ccuscode":"0100001", "cinvcode":"100101", "iquantity":"1", "address":"测试地址", "cmemo":"无", "cmaker":"demo", "cverifer":"demo", "dpredate":"2015-12-17", "imoney":"1"}

其中ccode是需要变化的,同一个插入不进去。由于是往第三方插入数据,所以没法改变上

展开
收起
杨冬芳 2016-07-06 18:11:41 3580 0
1 条回答
写回答
取消 提交回答
  • IT从业

    自己解决了 传入数据方法名 数据名(表单 input name) 值 保持一直 就可以了 结单

    2019-07-17 19:52:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载