程式開發步驟
- 在 VS2005 專案中新增一個表單。
- 在表單上放置兩個
TextBox,分別用於輸入 URL 與儲存檔案路徑。
- 新增兩個
Button 觸發事件,並加入一個多行 TextBox 顯示資訊。
- 撰寫核心程式碼如下。
發送 HTTP 請求並取得回應
public void TryRequset(string StrUrl)
{
HttpWebResponse response;
WebRequest request;
try
{
request = WebRequest.Create(StrUrl);
request.Credentials = CredentialCache.DefaultCredentials;
response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
this.richTextBox1.Text = responseFromServer.ToString();
reader.Close();
dataStream.Close();
response.Close();
}
catch
{
MessageBox.Show("URL 格式不正確或無法連線至網際網路");
return;
}
}
按鈕點擊事件呼叫請求方法
private void button1_Click(object sender, EventArgs e)
{
if (this.textBox1.Text.Trim().ToString() != "")
{
this.TryRequset(this.textBox1.Text.Trim().ToString());
}
else
{
MessageBox.Show("請輸入正確的 URL");
}
}
使用 WebClient 下載並儲存檔案
private void saveInfo(string strPath, string strDown)
{
WebClient wC = new WebClient();
wC.DownloadFile(strDown, strPath);
}
儲存按鈕事件:選擇路徑並觸發下載
private void button2_Click(object sender, EventArgs e)
{
saveFileDialog1.Filter = "文字檔案|*.txt";
if (this.saveFileDialog1.ShowDialog() == DialogResult.OK)
{
this.textBox2.Text = this.saveFileDialog1.FileName;
if (this.textBox1.Text.Trim().ToString() != "")
{
saveInfo(this.textBox2.Text.Trim().ToString(),
this.textBox1.Text.Trim().ToString());
MessageBox.Show("儲存成功");
}
else
{
MessageBox.Show("請輸入目標頁面的 URL");
this.textBox2.Text = string.Empty;
}
}
}