System.Net.WebRequest med Credentials
Jeg har et site uden anonymous access.Jeg skal læse en side på sitet med System.Net.WebRequest men får naturligvis en 401:Access Denied tilbage.
Jeg har prøvet at fiddle med PreAuthenticate og Credentials, men uden held.
Er der nogen der ved hvordan man læser en side fra en webserver hvor der ikke er anonym access?
Her er min kode der ikke virker:
public string GetPage(string AUrl, string AUsername, string APassword, string ADomain, NameValueCollection AHeaders)
{
string ret="";
System.Net.WebRequest myRequest =
System.Net.WebRequest.Create( AUrl );
myRequest.Headers.Add(AHeaders);
System.Net.NetworkCredential credential = new System.Net.NetworkCredential(AUsername, APassword, ADomain);
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri(Sitecore.WebUtil.GetServerUrl()), "Digest", credential);
myRequest.PreAuthenticate = true;
myRequest.Credentials = myCache;
myRequest.Method = "GET";
if (AHeaders != null)
myRequest.Headers.Add(AHeaders);
System.Net.WebResponse myResponse = myRequest.GetResponse();
try
{
Stream stream = myResponse.GetResponseStream();
StreamReader streamreader = new System.IO.StreamReader(stream);
ret = streamreader.ReadToEnd();
return ret.Replace( "\x00", "" );
}
finally
{
myResponse.Close();
}
}
