[HttpGet]
public string GetHtmltxt(string url)
{
string str;
//方式一
WebRequest web= WebRequest.Create(url);
web.Method = "GET";
HttpWebResponse httpWeb = (HttpWebResponse)web.GetResponse();
Stream stream = httpWeb.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
str = reader.ReadToEnd();
stream.Close();
reader.Close();
//方式二
HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(url);
//HttpWebRequest类继承于WebRequest,并没有自己的构造函数,需通过WebRequest的Creat方法 建立,并进行强制的类型转换
HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();
//通过HttpWebRequest的GetResponse()方法建立HttpWebResponse,强制类型转换
Stream respStream = httpResp.GetResponseStream();
//GetResponseStream()方法获取HTTP响应的数据流,并尝试取得URL中所指定的网页内容
StreamReader respStreamReader = new StreamReader(respStream, Encoding.UTF8);
//返回的内容是Stream形式的,所以可以利用StreamReader类获取GetResponseStream的内容,
//并以 StreamReader类的Read方法依次读取网页源程序代码每一行的内容,直至行尾(读取的编码格式:UTF8)
str = respStreamReader.ReadToEnd();
respStream.Close();
respStreamReader.Close();
return str;
}
[HttpGet]
public async Task GetTaskAsync()
{
HttpClient client = new HttpClient();
try
{
//HttpResponseMessage response = await client.GetAsync("http://www.baidu.com/");
//response.EnsureSuccessStatusCode();
//string responseBody = await response.Content.ReadAsStringAsync();
// 或者是直接GetStringAsync
string responseBody = await client.GetStringAsync("http://www.baidu.com/");
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ", e.Message);
}
}