C# 使用ASP.Net/C从rapidshare进行身份验证和下载#
我正在寻找一种方法来验证我的高级帐户从rapidshare,然后一旦验证开始下载。我在其他语言中见过很多次这样做,但似乎用我所知道的一种语言(C#)是不可能做到的 我已经完成了整个项目,并将其转换为C#,这样我可以更轻松地调试它,但它根本没有帮助,大部分原因是原始项目从未使用过身份验证,我不知道如何做到这一点。我不应该说我是在ASP.Net中这样做的 如果有人能帮我进行身份验证,我应该能够得到正确的下载C# 使用ASP.Net/C从rapidshare进行身份验证和下载#,c#,asp.net,C#,Asp.net,我正在寻找一种方法来验证我的高级帐户从rapidshare,然后一旦验证开始下载。我在其他语言中见过很多次这样做,但似乎用我所知道的一种语言(C#)是不可能做到的 我已经完成了整个项目,并将其转换为C#,这样我可以更轻松地调试它,但它根本没有帮助,大部分原因是原始项目从未使用过身份验证,我不知道如何做到这一点。我不应该说我是在ASP.Net中这样做的 如果有人能帮我进行身份验证,我应该能够得到正确的下载 谢谢我不知道您是如何下载的,也不知道他们在使用什么类型的身份验证,但是如果是基本HTTP(例
谢谢我不知道您是如何下载的,也不知道他们在使用什么类型的身份验证,但是如果是基本HTTP(例如twitter),您可以将NetworkCredential类与WebClient一起使用。如下所示:
WebClient client = new WebClient();
client.Credentials = new NetworkCredential(user, pass);
string data = client.DownloadString(new Uri(some_url));
不,你不能这样做,他们使用的是基于表单的身份验证,这意味着你需要将你的用户名和密码发布到他们的cgi页面上,然后呢……他们会给你回一个令牌吗?在这种情况下,我总是使用WebRequest。使用WebRequest.create(url)创建请求,将ContentType设置为“application/x-www-form-urlencoded”,方法设置为“POST”,以arg1=val1&arg2=val2的形式构建POST变量,转换为ascii字节[],然后…将其发送到请求流(WebRequest.GetRequestStream),并使用GetResponse和GetResponseStream获取响应流。似乎有点冗长…可能可以用一个简单的WebClient方法(UploadData()?)来实现这一点。感谢这一点,我们将尝试一下,并让您知道,WebClient的问题是它不支持cookies,并且是用来让您通过身份验证的(据我所知)好的,我已经完全按照您指定的方式尝试了,但没有成功,我想我可能使用了无效的URL,但我尝试了多个,但都没有成功