我正在使用C#.Net在Visual Studio 2010中编写程序。
该程序将访问网站的多个部分(不同的网址),我正在使用HttpWebRequest
和NetworkCredential
来设置用户名和密码。
现在,每次我发送请求时,都必须设置凭据。有没有办法在整个过程中只设置一次凭证?
public void setCredential(string url)
{
//set username and password
//and get response
}
public void Main()
{
string[] URLs= { url1, url2, url3 };
foreach (string url in URLs)
{
setCredential(url);
}
}
就像我提到的那样,通过这样做,每次我去一个新网址时,我都必须设置凭据,这有时会让它变慢。
我尝试在foreach循环之外设置凭据,但后来我无法获得url2和url3的响应。
我想知道是否有更好的方法吗?
- 编辑10:26 am -
很抱歉,如果我不清楚的话。
我的意思是每次我尝试访问网址时,都必须将用户名和密码重新发送到服务器。
因此,对于示例代码,我必须为3个不同的网址发送3次用户名和密码。
我想知道我是否只能发送一次用户名和密码并访问所有3个不同的网址。
PS。所有3个网址都可以使用相同的用户名和密码访问。
答案 0 :(得分:1)
Passing NetworkCredential to HttpWebRequest in C# from ASP.Net Page
此链接显示NetworkCache,这可能是您的解决方案。