首頁 >後端開發 >php教程 >php呼叫web services兩種方法soap和curl

php呼叫web services兩種方法soap和curl

WBOY
WBOY原創
2016-07-25 08:42:201297瀏覽

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

一、使用soap调用

  1. //服务器支持soap扩展:
  2. /*Example 1:
  3. $client = new SoapClient("http://fy.webxml.com.cn/webservices/EnglishChinese.asmx?wsdl");
  4. $parameters = array("wordKey"=>"test");
  5. //中英文双向翻译返回数据:数组
  6. $result = $client->TranslatorString($parameters);
  7. echo "
    ";</li>
    <li>  print_r($result->TranslatorStringResult)."<br />";</li>
    <li>   echo "
    ";
  8. //中英文双向翻译返回数组含句子例子:
  9. $result1 = $client->Translator($parameters);
  10. echo "
    ";</li>
    <li>  print_r($result1->TranslatorResult)."<br />";</li>
    <li>  echo "
    ";
  11. //获得候选词:
  12. $result2 = $client->SuggestWord($parameters);
  13. echo "
    ";</li>
    <li>  print_r($result2->SuggestWordResult)."<br />";</li>
    <li>  echo "
    ";
  14. //获得朗读MP3字节流,返回数据:字节数组 Byte[]
  15. $result3 = $client->GetMp3($parameters);
  16. echo "
    ";</li>
    <li>  print_r($result3)."<br />";</li>
    <li>  echo "
    ";
  17. */
  18. /*Example2:
  19. $client = new SoapClient("http://webservice.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl");
  20. $param = array('theIpAddress'=>'202.96.134.33');
  21. $result = $client->getCountryCityByIp($param);
  22. echo "
    ";</li>
    <li>  print_r($result->getCountryCityByIpResult);</li>
    <li>  echo "
    ";
  23. $result1 = $client->getGeoIPContext($param);
  24. echo "
    ";</li>
    <li>  print_r($result1);</li>
    <li>  echo "
    ";
  25. $result2 = $client->getVersionTime(
  26. );
  27. echo "
    ";</li>
    <li>  print_r($result2);</li>
    <li>  echo "
    ";
  28. */
  29. //Example3:
  30. $client = new SoapClient("http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl");
  31. //获得国内手机号码归属地省份、地区和手机卡类型信息
  32. $parm=array('mobileCode'=>'1367007','userID'=>'');
  33. $result=$client->getMobileCodeInfo($parm);
  34. echo ($result->getMobileCodeInfoResult)."
    ";
  35. //获得国内手机号码归属地数据库信息
  36. $result1 = $client->getDatabaseInfo($parm);
  37. print_r($result1)."
    ";
  38. // 获取SOAP类型列表(Returns list of SOAP types )
  39. echo '
    ';</li>
    <li>    print_r($client->__getTypes ()) ;</li>
    <li>    echo '
    ';
  40. // 获取webservice提供的函数
  41. echo '
    ';</li>
    <li>    print_r($client->__getFunctions ()) ;</li>
    <li>    echo '
    ';
  42. //服务器不支持soap扩展的情况下,可引入网上开源的类库
  43. ?>
复制代码


二、使用curl中POST


  1. cPost('l8200352367');
  2. /**
  3. * 使用CURL中POST方式提交数据
  4. *@param string $xml 要提交的$xml数据
  5. */
  6. function cPost($phone){
  7. $curlPost = "mobileCode=$phone&userID=";
  8. $ch = curl_init();//初始化curl会话,返回一个句柄
  9. curl_setopt($ch, CURLOPT_URL, "http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx/getMobileCodeInfo");
  10. curl_setopt($ch, CURLOPT_POST, 1);//启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样
  11. curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
  12. curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1);//将 curl_exec() 获取的信息以文件流的形式返回,而不是直接输出
  13. $res = curl_exec($ch);
  14. curl_close($ch);
  15. var_dump($res);
  16. }
复制代码
兩種, web, php


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn