Php 使用非sms网关第三方api

Php 使用非sms网关第三方api,php,api,rest,sms,Php,Api,Rest,Sms,我有一个关于clickatell公司使用http api的问题 它们实际上有几个api可以使用,其中包括xml和smtp 有没有人有过这些方面的经验,尤其是http api 对于http api: 这段php代码实际上是在后台工作的吗 此行$ret=file($url)- 很抱歉,我还没有设置任何东西来测试它。我只是想知道我可以从哪个api开始测试- 另外,使用smtp api和http api之间是否存在性能差异 // SMS gateway script $user = "XXXX"

我有一个关于clickatell公司使用http api的问题

它们实际上有几个api可以使用,其中包括xml和smtp

有没有人有过这些方面的经验,尤其是http api

对于http api:

这段php代码实际上是在后台工作的吗

此行$ret=file($url)- 很抱歉,我还没有设置任何东西来测试它。我只是想知道我可以从哪个api开始测试-

另外,使用smtp api和http api之间是否存在性能差异

// SMS gateway script
    $user = "XXXX";
    $password = "XXXXXX";
    $api_id = "XXXXXX";
    $baseurl ="http://api.clickatell.com";
    $text = urlencode("HTTP://WWW.TIMES.COM/DOWNLOADS/SUGRAFREE.SISX");
    $to = $_POST["phone number"];
 // auth call
    $url = "$baseurl/http/auth?user=$user&password=$password&api_id=$api_id";
    // do auth call
    $ret = file($url);
    // split our response. return string is on first line of the data returned
    $sess = split(":",$ret[0]);
    if ($sess[0] == "OK") {
    $sess_id = trim($sess[1]); // remove any whitespace
    $url = "$baseurl/http/sendmsg?session_id=$sess_id&to=$to&text=$text";
    // do sendmsg call
    $ret = file($url);
    $send = split(":",$ret[0]);
    if ($send[0] == "ID")
    echo "An Email with account details and SMS has been sent..

谢谢,Richard,我有使用clickatell API的经验-很好

SMTP速度较慢-您需要电子邮件才能访问clickatell服务器。这可能需要一秒钟或一分钟

HTTP是更好的建议,而且你可以创建一个会话和发送多条短信在一次去


ps:我还没有测试您的代码,但它应该可以工作,尽管我建议检查CURL库的HTTP连接。

它只在指定的时间为每个用户发送确认。我猜这对每个用户来说都是一个单独的会话id,或者如果会话仍然打开,并且您正在重新进行身份验证,您是否会获得相同的会话id?使用curl有什么好处?您是否在curl中有一个等效的代码行,而不是使用$ret=file($url)呢?优点在于,您使用的文件函数并不是只针对url的,而是一个合适的curl库。此外,CURL使您能够做的不仅仅是HTTP连接——只检查头、重定向,任何事情。我认为会话将保持一定的时间,或者除非从API用户处结束。请研究API文档,我已经很久没有为这个API开发了。