php调用webservices两种方法soap和curl
时间:2021-07-01 10:21:17
帮助过:49人阅读
以http://www.webxml.com.cn/zh_cn/index.aspx
一、使用soap调用 - //服务器支持soap扩展:
- /*Example 1:
- $client = new SoapClient("http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?wsdl");
- $parameters = array("wordKey"=>"test");
- //中英文双向翻译返回数据:数组
- $result = $client->TranslatorString($parameters);
- echo "
"; - print_r($result->TranslatorStringResult)."
"; - echo "";
- //中英文双向翻译返回数组含句子例子:
- $result1 = $client->Translator($parameters);
- echo "
"; - print_r($result1->TranslatorResult)."
"; - echo "";
- //获得候选词:
- $result2 = $client->SuggestWord($parameters);
- echo "
"; - print_r($result2->SuggestWordResult)."
"; - echo "";
- //获得朗读MP3字节流,返回数据:字节数组 Byte[]
- $result3 = $client->GetMp3($parameters);
- echo "
"; - print_r($result3)."
"; - echo "";
- */
- /*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 "
"; - print_r($result->getCountryCityByIpResult);
- echo "";
-
- $result1 = $client->getGeoIPContext($param);
- echo "
"; - print_r($result1);
- echo "";
-
- $result2 = $client->getVersionTime(
- );
- echo "
"; - print_r($result2);
- echo "";
- */
- //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)."
"; - //获得国内手机号码归属地数据库信息
- $result1 = $client->getDatabaseInfo($parm);
- print_r($result1)."
"; -
- // 获取SOAP类型列表(Returns list of SOAP types )
- echo '
'; - print_r($client->__getTypes ()) ;
- echo '';
-
- // 获取webservice提供的函数
- echo '
'; - print_r($client->__getFunctions ()) ;
- echo '';
- //服务器不支持soap扩展的情况下,可引入网上开源的类库
- ?>
二、使用curl中POST
- 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);
- }
|
两种, web, php