我已經編寫了一個小型掃描程序,旨在通過HTTP在遠程服務器上打開一個PHP腳本的連接,並將其中找到的一些XML抽取到本地文件中。通過HTTP檢索XML並寫入文件的問題
不完全是火箭科學,我知道。
下面的代碼是整個刮板(清理和匿名)。
此代碼工作正常,除了一個小細節外,似乎無論XML文件的大小(1 MB還是7 MB),生成的XML文件總是在最後缺少一小段(600-800個字符)。
注:
如果我在Firefox中打開PHP頁面 - 我得到整個文檔沒有問題。
如果我啓動wireshark並運行下面的程序,我看到整個文檔通過網絡傳輸,但沒有寫入文件。
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
namespace myNameSpace
{
class Program
{
static void Main(string[] args)
{
Console.Write("BEGIN TRANSMISSION\n");
writeXMLtoFile();
Console.Write("END TRANSMISSION\n");
}
public static void writeXMLtoFile()
{
String url = "http://somevalidurl.com/dataPage.php?lotsofpars=true";
TextWriter tw = new StreamWriter("xml\\myFile.xml");
tw.Write(ScreenScrape(url));
Console.Write(" ... DONE\n");
tw.Close();
}
public static string ScreenScrape(string url)
{
System.Net.WebRequest request = System.Net.WebRequest.Create(url);
using (System.Net.WebResponse response = request.GetResponse())
{
using (System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream()))
{
return reader.ReadToEnd();
}
}
}
}
}
我應該使用不同的作家?我已經嘗試了TextWriter和StreamWriter來達到同樣的效果。來自冰島
親切的問候,
Gzur
** **捂臉 你是一個天才。 工程就像一個血腥的魅力。感謝一束。非常感謝 – gzzzur 2009-07-03 15:14:16
無憂無慮。很高興爲了節省一些時間。如果我不需要驗證XML,WebClient.DownloadFile也是我會記得的。 – 2009-07-03 15:18:34