public class HttpServer
{
/// <summary>
/// 读取远程文件的内容
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public string ReadFromFile(string serverFilePath)
{
if (string.IsNullOrEmpty(serverFilePath))
return "";
string ret = "";
HttpWebRequest req = null;
HttpWebResponse resp = null;
try
{
req = (HttpWebRequest)HttpWebRequest.Create(serverFilePath);
req.Method = "GET";
req.KeepAlive = false;
resp = req.GetResponse() as HttpWebResponse;
using (Stream stream = resp.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
ret = reader.ReadToEnd();
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (req != null)
req.Abort();
if (resp != null)
resp.Close();
}
return ret;
}
/// <summary>
/// 读取远程文件的内容(异步)
/// </summary>
/// <param name="path"></param>
/// <returns></returns>
public async Task<string> ReadFromFileAsync(string serverFilePath)
{
if (string.IsNullOrEmpty(serverFilePath))
return "";
string ret = "";
HttpWebRequest req = null;
HttpWebResponse resp = null;
try
{
req = (HttpWebRequest)HttpWebRequest.Create(serverFilePath);
req.Method = "GET";
req.KeepAlive = false;
resp = req.GetResponse() as HttpWebResponse;
using (Stream stream = resp.GetResponseStream())
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
ret = await reader.ReadToEndAsync();
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (req != null)
req.Abort();
if (resp != null)
resp.Close();
}
return ret;
}
}