| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

php调用web services两种方法soap和curl

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

一、使用soap调用

<?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扩展的情况下,可引入网上开源的类库     ?>


二、使用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);           }