php調用web services兩種方法soap和curl

http://www.webxml.com.cn/zh_cn/index.aspx php

1、使用soap調用 web

<?php
 //服務器支持soap擴展:
  /*Example 1:
  $client = new SoapClient("http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?wsdl");
  $parameters = array("wordKey"=>"test");
  //中英文雙向翻譯返回數據:數組
  $result = $client->TranslatorString($parameters);
   echo "<pre>";
  print_r($result->TranslatorStringResult)."<br />";
   echo "</pre>";
//中英文雙向翻譯返回數組含句子例子:
  $result1 = $client->Translator($parameters);
  echo "<pre>";
  print_r($result1->TranslatorResult)."<br />";
  echo "</pre>";
//得到候選詞:
  $result2 = $client->SuggestWord($parameters);
  echo "<pre>";
  print_r($result2->SuggestWordResult)."<br />";
  echo "</pre>";
//得到朗讀MP3字節流,返回數據:字節數組 Byte[]
  $result3 = $client->GetMp3($parameters);
  echo "<pre>";
  print_r($result3)."<br />";
  echo "</pre>";
  */


 /*Example2:

  $client = new SoapClient("http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl");
  $param = array('theIpAddress'=>'202.96.134.33');
  $result = $client->getCountryCityByIp($param);
  echo "<pre>";
  print_r($result->getCountryCityByIpResult);
  echo "</pre>";
 
  $result1 = $client->getGeoIPContext($param);
  echo "<pre>";
  print_r($result1);
  echo "</pre>";
 
  $result2 = $client->getVersionTime(
  );
  echo "<pre>";
  print_r($result2);
  echo "</pre>";

  */
  //Example3:

  $client = new SoapClient("http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl");
  //得到國內手機號碼歸屬地省份、地區和手機卡類型信息
  $parm=array('mobileCode'=>'1367007','userID'=>'');
  $result=$client->getMobileCodeInfo($parm);
  echo ($result->getMobileCodeInfoResult)."<br>";
  //得到國內手機號碼歸屬地數據庫信息
  $result1 = $client->getDatabaseInfo($parm);
  print_r($result1)."<br>";
 
// 獲取SOAP類型列表(Returns list of SOAP types )
    echo '<pre>';
    print_r($client->__getTypes ()) ;
    echo '</pre>';
 
// 獲取webservice提供的函數
    echo '<pre>';
    print_r($client->__getFunctions ()) ;
    echo '</pre>';    
//服務器不支持soap擴展的狀況下,可引入網上開源的類庫   
?>

2、使用curl中POST 數據庫

<?php
     cPost('l8200352367');
     /**
         * 使用CURL中POST方式提交數據
         *@param string $xml 要提交的$xml數據
         */ 
     function cPost($phone){
            $curlPost = "mobileCode=$phone&userID=";
            $ch = curl_init();//初始化curl會話,返回一個句柄
            curl_setopt($ch, CURLOPT_URL, "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo");
            curl_setopt($ch, CURLOPT_POST, 1);//啓用時會發送一個常規的POST請求,類型爲:application/x-www-form-urlencoded,就像表單提交的同樣
            curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1);//將 curl_exec() 獲取的信息以文件流的形式返回,而不是直接輸出
            $res = curl_exec($ch);
            curl_close($ch);
            var_dump($res);
         }
 
相關文章
相關標籤/搜索