Download MetaTrader 5

Web Request using SMS API

To add comments, please log in or register
Maksym Mudrakov
12748
Maksym Mudrakov  

Hello,

I have such LINK: http://bhashsms.com/api/sendmsg.php?user=userid&pass=userpass&sender=senderid&phone=mobile&text=alertmessage&priority=ndnd&stype=normal

I wrote code:

void SMSapi(string userID,string password,string senderID,string phone,string text) 
  { 
   int    res;     
   char   data[];  

   string str="user="+userID+
              "&pass="+password+
              "&sender="+senderID+
              "&phone="+phone+
              "&text="+text+
              "&priority=ndnd&stype=normal"; 

   ArrayResize(data,StringToCharArray(str,data,0,WHOLE_ARRAY,CP_UTF8)-1); 

   res=WebRequest("GET","http://bhashsms.com/api/sendmsg.php",NULL,0,data,data,str); 
   Print(res);
}

But this code don't work. I try "GET" and "POST" requests, but nothing. I read, that if in link "...sendmsg.php?.." there is "?" then it must be "GET" request.

Please, help me create correct request.

Thanks.

Maksym Mudrakov
12748
Maksym Mudrakov  
I copied the link to the browser, changing to the desired login and password, etc., and the link works, sms comes to the phone.
Laszlo Tormasi
2832
Laszlo Tormasi  
Maksym Mudrakov:
I copied the link to the browser, changing to the desired login and password, etc., and the link works, sms comes to the phone.

You have to send the "str" in the link.

void SMSapi(string userID,string password,string senderID,string phone,string text) 
  { 
   int    res;     
   char   data[];  

   string str="user="+userID+
              "&pass="+password+
              "&sender="+senderID+
              "&phone="+phone+
              "&text="+text+
              "&priority=ndnd&stype=normal"; 

   ArrayResize(data,StringToCharArray(str,data,0,WHOLE_ARRAY,CP_UTF8)-1); 

   res=WebRequest("GET","http://bhashsms.com/api/sendmsg.php?"+str,NULL,0,data,data,str); 
   Print(res);
}
Maksym Mudrakov
12748
Maksym Mudrakov  
Laszlo Tormasi:

You have to send the "str" in the link.

I try this function, but result = -1 (don't work)

void SMSapi_2(string userID,string password,string senderID,string phone,string text){ 
  
   string cookie=NULL, headers;
   char post[],result[]; 
   int res; 
   int timeout=5000; 
   char   data[];  

   string str="user="+userID+
              "&pass="+password+
              "&sender="+senderID+
              "&phone="+phone+
              "&text="+text+
              "&priority=ndnd&stype=normal"; 
              
   string url="http://bhashsms.com/api/sendmsg.php?"+str;

   res=WebRequest("GET",url,cookie,NULL,timeout,post,0,result,headers);   

   Print(res);
}
Laszlo Tormasi
2832
Laszlo Tormasi  

Have you added the link to the allowed URLs list?

Maksym Mudrakov
12748
Maksym Mudrakov  
Laszlo Tormasi:

Have you added the link to the allowed URLs list?

I added: "http://bhashsms.com/api/sendmsg.php"

and try to add: "http://bhashsms.com/api"

but it didn't help me.

DonFx
964
DonFx  

Try this: http://bhashsms.com

Maksym Mudrakov
12748
Maksym Mudrakov  
DonFx:

Try this: http://bhashsms.com

Don't work.
Laszlo Tormasi
2832
Laszlo Tormasi  
Maksym Mudrakov:
Don't work.

You are doing something wrong.

I got the result with dummy login details: http://prntscr.com/fqxvpo

In some cases the 5 seconds timeout is not enough. You should increase that.

int OnStart()
  {

string cookie=NULL, headers;
char post[],result[]; 
int res; 
int timeout=5000; 
char data[];

 string str="user=userID&pass=password&sender=senderID&phone=phone&text=text&priority=ndnd&stype=normal"; 

 string url="http://bhashsms.com/api/sendmsg.php?"+str;

 res=WebRequest("GET",url,cookie,NULL,timeout,post,0,result,headers); 

 Print(res," ",CharArrayToString(result));


return 0;
   }
Screenshot
Screenshot
  • prnt.sc
Captured with Lightshot
Maksym Mudrakov
12748
Maksym Mudrakov  

Thank you very much!!!

I called WebRequest() from Indicator, that is why my attempts was wrong.

To add comments, please log in or register