using System.Text.RegularExpressions;
public static void Main()
public static void Execute()
string username = "YOUR USERNAME";
string password = "YOUR PASSWORD";
HttpWebRequest request = CreateWebRequest();
XmlDocument soapEnvelopeXml = new XmlDocument();
@"<soapenv:Envelope xmlns:soapenv=""http://schemas.xmlsoap.org/soap/envelope/"" xmlns:urn=""urn:enterprise.soap.sforce.com"">
<urn:organizationId>00D1x0000008bXM</urn:organizationId>
<urn:username>"+username+@"</urn:username>
<urn:password>"+password+@"</urn:password>
using (Stream stream = request.GetRequestStream())
soapEnvelopeXml.Save(stream);
using (WebResponse response = request.GetResponse())
using (StreamReader rd = new StreamReader(response.GetResponseStream()))
string soapResult = rd.ReadToEnd();
string token = getTagValue("sessionId", soapResult);
Console.WriteLine("Token: "+token);
public static string getTagValue(string tagName, string containing){
Regex regex = new Regex("<"+tagName+">(.*)</"+tagName+">");
var v = regex.Match(containing);
string s = v.Groups[1].ToString();
public static HttpWebRequest CreateWebRequest()
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(@"https://cs100.salesforce.com/services/Soap/c/43.0 HTTP/1.1");
webRequest.Headers.Add(@"SoapAction:login");
webRequest.ContentType = "text/xml;charset=\"utf-8\"";
webRequest.Accept = "text/xml";
webRequest.Method = "POST";