Как отправить веб-запрос на выход? - PullRequest
0 голосов
/ 18 марта 2011

Я хочу выйти со страницы с помощью веб-клиента.

Это мой код для входа в систему и загрузки сайта.

public bool LogIn(string loginName, string password)
{
    try
    {
        NameValueCollection postData = new NameValueCollection();
        postData.Add("login", loginName);
        postData.Add("password", password);

        // Authenticate
        _webClient.UploadValues("http://rapideo.pl/login.php", postData);
        //string temp = _webClient.DownloadString("http://rapideo.pl/lista");
    }
    catch
    {
        return false;
    }
    _loggedIn = true;
    _loginName = loginName;
    return true;
}

class WebClientEx : WebClient
{
    public CookieContainer CookieContainer { get; private set; }

    public WebClientEx()
    {
        CookieContainer = new CookieContainer();
    }

    protected override WebRequest GetWebRequest(Uri address)
    {
        var request = base.GetWebRequest(address);
        if (request is HttpWebRequest)
        {
            (request as HttpWebRequest).CookieContainer = CookieContainer;
        }
        return request;
    }
}

Чтобы выйти из системы, мне нужно открыть эту страницу только в браузере:

http://rapideo.pl/wyloguj

Я знаю, как загрузить исходный код страницы после входа в систему. Но как я могу отправить http запрос на выход? Я не хочу получить ответ или исходный код этой страницы. Я просто хочу отправить запрос.

1 Ответ

2 голосов
/ 18 марта 2011

В качестве проверки работоспособности, вы уже пытались выполнить WebRequest.DownloadString("http://rapideo.pl/wyloguj"), а затем просто отбросить возвращенные данные?

Если это не сработает, можно попробовать посмотреть на запрос / ответ.сообщения в таком инструменте, как Fiddler, чтобы увидеть, что именно происходит по проводам, когда вы выходите из браузера, а не программно.

Кроме того, в целом, похоже, что имя пользователя и пароль отправляютсяясно как часть логина.Не уверен, что для этого сайта доступна конечная точка входа в систему HTTPS, но это будет что-то, что нужно рассмотреть.

...