所以我有一个c#应用程序需要在我的Web服务器上托管的文本文件中使用一些代码(路径:https://example.com/example.txt
)。
文本文件的内容包含一些已编译的代码,下面是已编译代码的片段:
*ü
*²0 ¾6- +*
+
*²0 ¾6- +S
+;
*²0 ¾6- +y
+`
*²0 ¾6- +Ÿ
+‡
*²0 ¾6- +È
+°
*²0 ¾6-
C
*s0 µ6--. y +ð
+Ù
*s0 ¾6-
+ð
+þ
*s0 ¾6-
, +ð
,
*s0 ¾6-
¶ +ð
,
*s0 ¾6-
û +ð
,
*s0 ¾6-
+ð
,/
*s0 ¾6-
C
*W0 µ6-
,W ,G
,>
在我的c#应用程序中,我尝试了多种方法从Web服务器上的文本文件中检索内容,这种方式不会弄乱编译的代码结构,例如:
string RetrieveText;
WebClient con = new WebClient();
RetrieveText = con.DownloadString("https://example.com/example.txt");
MessageBox.Show(RetrieveText);
问题在于,当我的c#应用程序被执行并且MessageBox.Show()
弹出时,编译后的代码会变得有点“无组织”。并且我的Web服务器上的文本文件中的一些编译代码行随机地删除换行符和空格,例如当在{{上面显示的c#示例中使用DownloadString()
检索上面显示的编译代码时1}}输出:
上面显示的相同代码片段,但在我使用c#检索我的网络服务器上托管的文本文件的内容后使用MessageBox
DownloadString()
正如您所看到的,已编译的代码已从其原始布局/结构更改,所以基本上我的问题是,有没有办法从使用c#在Web服务器上托管的文本文件中检索内容?如果是这样,我怎样才能检索文本文件的内容,但不会干扰我的Web服务器上托管的文本文件中编译代码的布局/结构?
我需要能够在我的c#应用程序中使用web服务器上的文本文件的内容,如下所示:
*ü
*²0 ¾6- +* +
*²0 ¾6- +S +; *²0 ¾6- +y
+` *²0 ¾6- +Ÿ
+‡ *²0 ¾6- +È +° *²0 ¾6-
*s0 µ6--. y +ð
+Ù *s0 ¾6- +ð
+þ *s0 ¾6- , +ð
, *s0 ¾6- ¶ + , *s0 ¾6- + , *s0 ¾6-
+ ,/ *s0 ¾6 C
*W0 µ6 ,W ,G ,>
希望这个问题有道理:/
答案 0 :(得分:1)
您应该使用WebClient的DownloadData
代替DownloadString
。 DownloadString
必须尝试找出编码并应用它来为您提供字符串。您根本不希望完成转换。
答案 1 :(得分:0)
不要将DownloadString用于编译的字符串。此功能设计仅与普通字符串一起使用。请改用DownloadData
。
WebClient wc = new WebClient();
// Get binary data
byte[] downloadData = wc.DownloadData("https://example.com/example.txt");
// You can download your server file directly use download manager tools (etc. IDM) save it to "serverfile.bin" and compare it
byte[] orgBytes = File.ReadAllBytes("D:\\serverfile.bin");
// using System.Linq;
bool isTwoFileEqual = downloadData.SequenceEqual(orgBytes);
// The result should be True
Console.WriteLine(isTwoFileEqual);