Hi,
simple question: I have an file online (txt). How to read it and check if its there? (C#.net 2.0)
Hi,
simple question: I have an file online (txt). How to read it and check if its there? (C#.net 2.0)
from http://www.csharp-station.com/HowTo/HttpWebFetch.aspx
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create("myurl");
// execute the request
HttpWebResponse response = (HttpWebResponse)
request.GetResponse();
// we will read data via the response stream
Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
// fill the buffer with data
count = resStream.Read(buf, 0, buf.Length);
// make sure we read some data
if (count != 0)
{
// translate from bytes to ASCII text
tempString = Encoding.ASCII.GetString(buf, 0, count);
// continue building the string
sb.Append(tempString);
}
}
while (count > 0); // any more data to read?
// print out page source
Console.WriteLine(sb.ToString());
Look at System.Net.WebClient, the docs even have an example of retrieving the file.
But testing if the file exists implies asking for the file and catching the exception if it's not there.
an alternative to HttpWebRequest
is WebClient
// create a new instance of WebClient
WebClient client = new WebClient();
// set the user agent to IE6
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705;)");
try
{
// actually execute the GET request
string ret = client.DownloadString("http://www.google.com/");
// ret now contains the contents of the webpage
Console.WriteLine("First 256 bytes of response: " + ret.Substring(0,265));
}
catch (WebException we)
{
// WebException.Status holds useful information
Console.WriteLine(we.Message + "\n" + we.Status.ToString());
}
catch (NotSupportedException ne)
{
// other errors
Console.WriteLine(ne.Message);
}
example from http://www.daveamenta.com/2008-05/c-webclient-usage/
I think the WebClient-class is appropriate for that:
WebClient client = new WebClient(); Stream stream = client.OpenRead("http://yoururl/test.txt"); StreamReader reader = new StreamReader(stream); String content = reader.ReadToEnd();
http://msdn.microsoft.com/en-us/library/system.net.webclient.openread.aspx