2016-02-27 37 views
2

所以我有一個C#應用程序需要使用我的Web服務器上託管的文本文件內的一些代碼(路徑:https://example.com/example.txt)。在Web服務器上檢索.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服務器上編譯代碼行隨機獲得換行和空格除去,例如當上面顯示的編譯的代碼在上述MessageBox輸出該示出的C#示例使用DownloadString()檢索:

相同編譯的代碼片段如上圖所示,但之後我用C#使用DownloadString()

*ü 
*²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 ,> 

檢索的文本文件的託管我的Web服務器上的內容正如你所看到的編譯後的代碼已經從原來的佈局/結構發生變化,所以基本上我的問題是,有沒有辦法從Web服務器usi上託管的文本文件中檢索內容ng c#?如果是這樣,我怎麼能檢索文本文件的內容,但不影響我的Web服務器上託管的文本文件中的編譯代碼的佈局/結構?

我需要比布爾使用文本文件的內容在Web服務器上在我的C#應用​​程序,像這樣:

this.CustomCONSOLE.SetMemory(268697600U, [HERE IS WERE I NEED TO PUT THE CONTENTS OF THE TEXT FILE ON MY WEB SERVER]); 

希望這個問題是有道理的:/

+0

@mikez謝謝!完美工作:) – Coder1337

+0

我會讓它成爲一個答案。 –

+0

@mikez - 你真的不應該刪除這樣的評論。 – Enigmativity

回答

1

你應該使用Web客戶端的DownloadData代替的DownloadStringDownloadString必須嘗試找出編碼並應用它來給你一個字符串。你根本不想完成這個轉換。

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); 
相關問題