07-20-2018, 04:58 AM
C# can be used in QM like this:
Macro textnow C#
Another way:
Macro Macro5
Macro textnow C#
str R=CsFunc("" "100" "test")
out R
#ret
//C# code
using System;
using System.Net;
using System.Text;
using System.IO;
public class Test
{
public static string TestFunction(string pnum, string msg)
{
;;;;;;;;HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri("https://www.textnow.com/api/users/[redacted username]/messages"));
;;;;;;;;HttpWebResponse response = null;
;;;;;;;;NetworkCredential netCredential =
;;;;new NetworkCredential("[redacted username]", "[redacted password]");
;;;;;;;;req.Credentials = netCredential;
;;;;;;;;req.PreAuthenticate = true;
req.Headers.Add("Access-Control-Request-Headers","accept, origin, x_session, content-type");
req.Headers.Add("Access-Control-Request-Method","POST");
;;;;;;;;req.Method = "GET";
;;;;;;;;response = (HttpWebResponse)req.GetResponse(); //error occurs here <<<<<<<<<<<
;;;;;;;;req.Method = "POST";
;;;;;;;;req.ContentType = "application/x-www-form-urlencoded";
;;;;;;;;req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13";
;;;;;;;;req.Referer = "https://www.textnow.com/api/users/[redacted username]/messages";
;;;;;;;;req.AllowAutoRedirect = true;
;;;;;;;;req.KeepAlive = true;
;;;;;;;;req.ContentType = "application/json";
;;;;;;;;StringBuilder postData = new StringBuilder();
;;;;;;;;postData.Append("%7B%22contact_value%22%3A%22" + pnum + "%22%2C");
;;;;;;;;postData.Append("%22contact_type%22%3A2%2C");
;;;;;;;;postData.Append("%22message%22%3A%22" + msg + "%22%2C");
;;;;;;;;postData.Append("%22read%22%3A1%2C");
;;;;;;;;postData.Append("%22message_direction%22%3A2%2C");
;;;;;;;;postData.Append("%22message_type%22%3A1%2C");
;;;;;;;;postData.Append("%22date%22%3A%22Sat+Nov+30+2013+13%3A20%3A44+GMT-0800+(Pacific+Standard+Time)%22%2C");
;;;;;;;;postData.Append("%22from_name%22%3A%22[Redacted]%22%7D");
;;;;;;;;StreamWriter sw = new StreamWriter(req.GetRequestStream());
;;;;;;;;sw.Write(postData.ToString());
;;;;;;;;response = (HttpWebResponse)req.GetResponse();
,return "returned";
}
//add private functions here if need
}
Another way:
Macro Macro5
typelib WinHttp {662901FC-6951-4854-9EB2-D9A2570F2B2E} 5.1
WinHttp.WinHttpRequest r._create
r.Open("GET" "https://www.textnow.com/api/users/[redacted username]/messages")
r.SetCredentials("[redacted username]", "[redacted password]")
;req.PreAuthenticate = true; //?
r.SetRequestHeader("Access-Control-Request-Headers","accept, origin, x_session, content-type")
r.SetRequestHeader("Access-Control-Request-Method","POST")
r.Send()
;;...