程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> php-PHP使用curl_init post 提交json 或 SoapClient 外部服務器報錯

php-PHP使用curl_init post 提交json 或 SoapClient 外部服務器報錯

編輯:編程綜合問答
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 );


使用 SoapClient :

$client = new SoapClient("http://61.153.225.106:5678/Service.asmx?WSDL", array('cache_wsdl' => 0));
$strjson = array('param1'=>'01', 'param2'=>'02');
$result = $client->__Call("tests", array( $strjson ));

圖片說明


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是需要變化的,同一個插入不進去。
由於是往第三方插入數據,所以沒法改變上傳的形式 ,只能上傳json格式。
另外如果網頁中輸入 http://61.153.225.106:5678/Service.asmx?op=tests 然後再輸入字符串是可以返回字符串的。
後面這個SoapClient方法並不能返回程序執行的數據,求解,兩種無論使用哪一種都行,只要能通過就可以了

最佳回答:


自己解決了 傳入數據方法名 數據名(表單 input name) 值 保持一直 就可以了 結單

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved