Я думаю, что вы ищете, чтобы опубликовать эту страницу, и попытаться получить доступ к другой странице, которая защищена.Безопасность веб-страниц сильно разнится, и владелец может активно пытаться предотвратить такой программный доступ.
Для простого сайта безопасности, использующего файлы cookie, вы можете имитировать действия браузера, запрашивая страницу входа, выполняяPOST с надлежащими учетными данными (и любыми скрытыми полями, которые могут потребоваться), сохраняющими файлы cookie, которые были созданы, и переходом на страницу, которую вы хотите посетить, с помощью прилагаемых файлов cookie.
private HttpWebRequest CreateRequest(string url, string method)
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Referer = Host;
request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36";
request.Method = method;
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
return request;
}
public void Login()
{
byte[] bytes;
string data;
var SharedCookie = new CookieContainer();
var url = "index.asp";
try
{
//Start Session
var request = CreateRequest(url, "GET");
request.CookieContainer = SharedCookie;
using (var tmpResponse = request.GetResponse())
{
//WriteResponse(tmpResponse);
tmpResponse.Close();
}
//Login
data = "password=123456";
bytes = Encoding.UTF8.GetBytes(data);
request = CreateRequest(url, "POST");
request.CookieContainer = SharedCookie;
using (var stream = request.GetRequestStream())
{
stream.Write(bytes, 0, bytes.Length);
}
using (var tmpResponse = request.GetResponse())
{
//WriteResponse(tmpResponse);
tmpResponse.Close();
}
IsLoggedIn = true;
}
catch (System.Net.WebException ex)
{
Console.WriteLine("Web Error:" + ex.Status);
Console.WriteLine("Url:" + url);
Console.WriteLine(ex.Message);
}
catch (Exception ex)
{
Console.WriteLine("Url:" + url);
Console.WriteLine(ex.Message);
}
}