在delphi中通过短信网关发送短信

时间:2013-07-29 18:54:11

标签: delphi http-post delphi-xe2 sms-gateway

网关网站“提供”的代码可在http://www.freesmsgateway.com/api获取 我在尝试实现这一点时尽力而为,但不知道。谷歌广泛无济于事。这是一个很酷的实现程序,所以我希望一个详细的答案能够帮助很多人。它似乎发布所以也许我解释参数错误?任何帮助或输入都是有价值的。请原谅任何格式化错误?第一次到网站的海报。顺便说一下使用delphi XE4。消息输出位于showmessage returned text下方的链接中。

这是delphi代码:

function tform1.PostExample: string;
     var    param:TStringList;
            valid:boolean;
            url,text:string;
            http:TIDHttp;
      begin
         http := TIDHttp.Create(nil);
         http.HandleRedirects := true;
         http.ReadTimeout := 5000;
         param:=TStringList.create;
         param.Clear;
         param.Add('access_token=994ad8885430************91b6eb8f');
         param.Add('message=Test');
         param.Add('send_to=0729122723');
         valid:=true;
         url:='http://www.FreeSMSGateway.com/api_send';
          try
            text:=http.Post(url,param);
          except
           on E:Exception do
            begin
             valid:=false;
            end;
          end;
         if valid then
          showmessage( text )
          else
          showmessage( '' );
         end;
         end.

1 个答案:

答案 0 :(得分:0)

再次仔细阅读the documentatation

  

使用以下POST变量向http://www.FreeSMSGateway.com/api_send发送POST呼叫:

     
      
  • access_token:您帐户信息中心的API访问令牌   
  • 消息:网址编码消息,160个字符或更少   
  • send_to:此值必须为“existing_contacts”才能发送到您帐户中的所有现有联系人或“post_contacts”以提供自定义联系人列表   
  • post_contacts:用于发送邮件的JSON联系人数组,而不是现有的联系人。仅需要将“send_to”设置为“post_contacts”   

您的send_to参数值不符合规定的要求。您在send_to字段中传递了特定的联系号码,但该联系人必须在post_contacts字段中传递,例如:

param.Add('access_token=994ad8885430************91b6eb8f');
param.Add('message=Test');
//param.Add('send_to=0729122723');
param.Add('send_to=post_contacts');
param.Add('post_contacts=["0729122723"]'); // you may need to double-check this syntax