首先,客户给你的二次开发接口文档只需要注意看一个地方,那就是前言中的文档出处,直接去官网上下载最新的接口说明
文档中第一个接口如下:
http://mb345.com:999/ws/LinkWS.asmx
错误问题:
php_network_getaddresses: getaddrinfo failed
意思是连接不到这个服务器,百度的解决方法是修改本机DNS修改HOST等等,总之这么做那这个问题就没法解决了
因为在之后的沟通中得知这个接口已经不用了,总之解决这种问题不是靠技术、不是靠刻苦钻研、更不是靠百度,靠的是沟通
省时省力
http://125.69.81.40:83/wsn/LinkWS.asmx
错误问题:
Parsing WSDL: Couldn't load from 'http://125.69.81.40:83/wsn/LinkWS.asmx'
意思是,我也不知道,直接百度一下,发现热心的博客主提供了解决办法,在接口后面加上?WSDL
问题迎刃而解,最后还是要靠热心的博客主嘛,所以我也来写一篇
综上,告诉大家,解决问题的时候先沟通,后寻找别人的经验
最后,可用的接口如下:
http://125.69.81.40:83/wsn/LinkWS.asmx?WSDL
再附上自己写的接口类:
<?php
class SendSmsHttp{
private $_apiUrl = 'http://125.69.81.40:83/wsn/LinkWS.asmx?WSDL';
public $CorpID;
public $Pwd;
public $Mobile;
public $Content;
public $Cell;
public $SendTime;
public function send(){
$params = array(
"CorpID" => $this->CorpID,
"Pwd" => $this->Pwd,
"Mobile" => $this->Mobile,
"Content" => $this->Content,
"Cell" => $this->Cell,
"SendTime" => $this->SendTime,
);
$client = new SoapClient($this->_apiUrl,array('encoding'=>'UTF-8'));
$result = $client->BatchSend($params);
$result = $result->BatchSendResult;
if($result ==0 ){
echo '短信发送成功,等待审核!<br/>';
}else if($result == 1){
echo '短信发送成功<br/>';
}
else{
echo '短信发送失败'. $result.'<br/>';
}
return;
$client = null;
}
}
$sendSms = new SendSmsHttp();
/*
//发送示例
$sendSms->CorpID = '';
$sendSms->Pwd = '';
$sendSms->Mobile = '';
$sendSms->Content = '测试短信1111';
$sendSms->Cell = '';
$sendSms->SendTime = '';
$res = $sendSms->send();
echo $res ? $res : $sendSms->errorMsg;
*/