问题
如何发送 一个带有网络认证证书的HTTP请求并返回相应的HTTP响应。
设计
创建一个WebRequest对象和一个NetWorkCredential对象。把NetWorkCredential对象作为WebRequest对象的Credentials的属性赋给它并且通过WebRequest.GetResponse()方法返回HTTP响应。
方案
public static void Credential()
{
string url =
"http://server/path/webform.aspx";
WebRequest wreq =
WebRequest.Create(url);
//设置信息,创建对象
string userId=
"CalvinR";
string password=
"123";
string domain =
"DomainName";
NetworkCredential nc =
new NetworkCredential(userId,password,domain);
wreq.Credentials =
nc;
Console.WriteLine("Sending authenticated request to"+
url);
//读取、响应
WebResponse wres =
wreq.GetResponse();
Stream st =
wres.GetResponseStream();
StreamReader sr =
new StreamReader(st);
string res =
sr.ReadToEnd();
st.Close();
sr.Close();
Console.WriteLine("HTTP response is ");
Console.WriteLine(res);
}
注解
WebRequest对象不是利用New关键字通过构造函数来创建的,而是利用工厂机制(factory mechanism)通过create()方法来创建的。
转载于:https://www.cnblogs.com/siyunianhua/p/3852966.html