HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.Credentials = new NetworkCredential(username, password);
request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(username + ":" + password)));
如果Web服务位于本地,则可以使用“localhost”或“127.0.0.1”作为url。如果ASHX处理程序需要使用POST参数,请将它们添加到WebRequest的请求正文中。例如,
string postBody = "param1=value1¶m2=value2";
byte[] postBytes = Encoding.ASCII.GetBytes(postBody);
request.ContentLength = postBytes.Length;
using (Stream stream = request.GetRequestStream())
{
stream.Write(postBytes, 0, postBytes.Length);
}