c#从pastebin获取链接并从链接下载

时间:2016-09-16 18:29:08

标签: c# download pastebin

我试图从pastebin获取链接。链接是原始粘贴中唯一的文本。然后我想从pastebin中的链接下载一个文件。

   WebRequest request = WebRequest.Create("http://pastebin.com/raw/Dtdf2qMp");  

        WebResponse response = request.GetResponse();     

        System.IO.StreamReader reader = new  

        System.IO.StreamReader(response.GetResponseStream());

        Console.WriteLine(reader.ReadToEnd());

        WebClient client = new WebClient();

        client.DownloadFile (Link gotten from pastebin here, "c:\\File");

        System.Threading.Thread.Sleep(5000);

2 个答案:

答案 0 :(得分:0)

不应将文本读取转储到控制台输出,而应将其分配给变量。

var pastebinOutput = reader.ReadToEnd();

然后将其作为DownloadFile方法的链接传递。如果您想验证它实际上是您从原始pastebin获得的URL,您可以查看System.Uri的TryCreate方法。

答案 1 :(得分:0)

我有一个解决方案-假设您的链接位于原始的pastebin链接中(我的是一个.txt文件,说“有效”),我建议您准确地复制并粘贴以下代码-如果您得到一个文件, “有效”,然后您可以更改pastebin链接和文件名。如果您不想打开文件,请删除Process.Start-如果要更改延迟,只需更改数字(以毫秒为单位)即可。此外,您可以将格式从.txt更改为.exe或任何文件格式(或者您可以将其删除,以便在下载链接中使用其默认名称):

WebRequest request = WebRequest.Create("https://pastebin.com/raw/QAWufg1z");
WebResponse response = request.GetResponse();

System.IO.StreamReader reader = new

System.IO.StreamReader(response.GetResponseStream());

var pastebinOutput = reader.ReadToEnd();

WebClient client = new WebClient();

client.DownloadFile(pastebinOutput, @".\downloaded.txt");
MessageBox.Show("File should open automatically in the next minute. Please wait...");
await Task.Delay(3000); //3000 = 3 seconds

Process.Start(@".\downloaded.txt");