我想使用webclient从页面注销。
这是我的登录和网站下载代码。
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请求到注销?我不希望得到该页面的响应或源代码。我只是想发送请求。
答案 0 :(得分:2)
作为一项完整性检查,您是否已尝试执行WebRequest.DownloadString("http://rapideo.pl/wyloguj")
然后只丢弃返回的数据?
如果这不起作用,尝试的一件事就是在Fiddler这样的工具中查看请求/响应消息,看看当你通过浏览器注册而不是通过编程方式时,究竟是什么。
此外,作为一般情况,看起来用户的名称和密码是作为登录的一部分以明文形式发送的。不确定该网站是否有可用的HTTPS登录端点,但这可以查看。