C#仅为多个请求设置一次凭据

时间:2013-06-26 14:04:58

标签: c# .net httprequest credentials networkcredentials

我正在使用C#.Net在Visual Studio 2010中编写程序。

该程序将访问网站的多个部分(不同的网址),我正在使用HttpWebRequestNetworkCredential来设置用户名和密码。

现在,每次我发送请求时,都必须设置凭据。有没有办法在整个过程中只设置一次凭证?

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个网址都可以使用相同的用户名和密码访问。

1 个答案:

答案 0 :(得分:1)

Passing NetworkCredential to HttpWebRequest in C# from ASP.Net Page

此链接显示NetworkCache,这可能是您的解决方案。