shanglei005166 2015-12-18 06:41 采纳率: 83.3%
浏览 1779
已采纳

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

[code=php]$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 );[/code]

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是需要变化的,同一个插入不进去。

报错信息
[img=http://img.bbs.csdn.net/upload/201512/18/1450420302_248471.jpg][/img]

由于是往第三方插入数据,所以没法改变上传的形式 ,只能上传json格式。
另外如果网页中输入 http://61.153.225.106:5678/Service.asmx/tests 然后再输入字符串是可以返回字符串的。完了以后就想是不是传送协议问题,但是我传的又确实是 content-type 为json的数据 。求大神指教,只有12分全部送上

  • 写回答

3条回答 默认 最新

  • shanglei005166 2015-12-19 07:17
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 网络科学导论,网络控制
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)