本範例示範如何透過 FileWebRequest 類別搭配 Uri 類別,實現向不同機器寫入資訊的功能。
TextBox 文字方塊,用於輸入 URI 資訊。Button 按鈕以觸發事件,並新增一個多行 TextBox 用於顯示回傳資訊。private static void makeFileRequest(string fileName, int timeout)
{
try
{
Uri myUrl = new Uri(fileName);
myFileWebRequest = (FileWebRequest)WebRequest.CreateDefault(myUrl);
myFileWebRequest.Timeout = timeout; // 設定請求逾時時間
myFileWebRequest.Method = "POST"; // 設定協定方法
}
catch (Exception e)
{
MessageBox.Show("請輸入有效資訊(以 file:// 開頭)");
}
}
自訂 writeToFile 方法,使用 StreamWriter 的 Write 方法將資訊寫入目標機器:
private bool writeToFile()
{
try
{
string userInput = richTextBox1.Text.Trim().ToString();
StreamWriter sW = new StreamWriter(myFileWebRequest.GetRequestStream());
sW.Write(userInput);
sW.Close();
return true;
}
catch (WebException e)
{
MessageBox.Show("無權存取目標機器");
return false;
}
catch (UriFormatException e)
{
MessageBox.Show("URL 位址格式不正確");
return false;
}
catch (Exception ey)
{
MessageBox.Show("請輸入正確資訊");
return false;
}
}
注意: 使用本程式前必須取得目標機器授權,方可寫入資訊。