[英]windres: The filename, directory name, or volume label syntax is incorrect
[英]How do I fix System.Net.WebException: 'The filename, directory name, or volume label syntax is incorrect
我正在嘗試為程序創建引導程序,並且錯誤“ System.Net.WebException:'文件名,目錄名或卷標語法不正確”不斷彈出。
我一直陷在這個問題上,一直在猜測如何解決這個問題。
String pname = "Fredysploit_v2";
String dlink = "https://pastebin.com/V5NcE09n";
string title = @"Title ";
Console.Title = pname + " Bootstrapper";
Console.ForegroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(title);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Downloading new Files...");
WebClient wc = new WebClient();
string key = wc.DownloadString(dlink);
string path = @"Update\" + pname + ".exe";
System.Net.WebClient Dow = new WebClient();
string patch = (@"Update");
Directory.CreateDirectory(patch);
//My problem ↓
Dow.DownloadFile(key, path);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(pname + " Downloaded | Updated!");
Console.WriteLine($"Now open " + patch + " and Run " + pname + ".exe");
Console.ReadKey();
我期望結果將文件下載為文本,而該文本是pastebin上的鏈接,但是實際結果是“ System.Net.WebException:'文件名,目錄名或卷標語法不正確”。
我認為發生的事情是您嘗試將整個網站作為文件下載,而不是下載在pastebin內容中鏈接的文件( 此處提供證明 )。
也許有一種獲取鏈接的方法,例如:解析網站的html並從特定的html標記中讀取內容,或者如果存在的話,使用pastebin api(我將對此進行檢查。現在有一個pastebin api (也許看看這個)
由於該API不能為您提供很大幫助,因此這里有一些代碼可以用來解析網站中的HTML: WebClient client = new WebClient(); String htmlCode = client.DownloadString(" https://pastebin.com/raw/dnfHuGAK ");
WebClient client = new WebClient(); String htmlCode = client.DownloadString(" https://pastebin.com/raw/dnfHuGAK ");
這使您可以在粘貼中獲取字符串。
這將是您對代碼的最終更改,應該可以解決您的問題
String pname = "Fredysploit_v2";
String dlink = "https://pastebin.com/raw/dnfHuGAK";
//^ changed the download link to the raw paste so you can extract your link
string title = @"Title ";
Console.Title = pname + " Bootstrapper";
Console.ForegroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(title);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Downloading new Files...");
WebClient wc = new WebClient();
string key = wc.DownloadString(dlink);
string path = @"Update\" + pname + ".exe";
System.Net.WebClient Dow = new WebClient();
string patch = (@"Update");
Directory.CreateDirectory(patch);
Dow.DownloadFile(key, path);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(pname + " Downloaded | Updated!");
Console.WriteLine($"Now open { patch } and Run { pname }.exe");
//^ since you are using String.Format(), make use of it :)
Console.ReadKey();
問題是您正在獲取HTML表單pastebin的整個頁面,而不是您要查找的URL。 就像@Jon Skeet在評論中提到的那樣,請嘗試將https://pastebin.com/raw/V5NcE09n
用作dlink
以便其顯示如下:
String dlink = "https://pastebin.com/raw/V5NcE09n";
更新的代碼解決方案如下:
String pname = "Fredysploit_v2";
String dlink = "https://pastebin.com/raw/V5NcE09n";
string title = @"Title ";
Console.Title = pname + " Bootstrapper";
Console.ForegroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(title);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Downloading new Files...");
WebClient wc = new WebClient();
string key = wc.DownloadString(dlink);
string path = @"Update\" + pname + ".exe";
System.Net.WebClient Dow = new WebClient();
string patch = (@"Update");
Directory.CreateDirectory(patch);
Dow.DownloadFile(key, path);
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(pname + " Downloaded | Updated!");
Console.WriteLine($"Now open " + patch + " and Run " + pname + ".exe");
Console.ReadKey();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.