一直都是用unity的www请求网页数据,突然有一天需要用vs写一个程序,所以学习了一下怎么用vs的方法请求数据,亲测可用。
请求数据:
/// <summary>
/// 请求信息
/// </summary>
/// <param name="_url"></param>
/// <param name="_outresult"></param>
public void MRequestMessage(string _url, out string _outresult)
{
string result = null;
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(_url);
req.Method = "GET";
req.ContentType = "application/octet-stream";
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream streamreceive = res.GetResponseStream();
using (StreamReader streamreader = new StreamReader(streamreceive, Encoding.UTF8))
{
result = streamreader.ReadToEnd();
}
//Console.WriteLine("从网页请求到的数据:" + result);
}
catch (WebException e)
{
//result = e.Message;
Console.WriteLine("M错误信息:" + e.Message);
}
_outresult = result;
//简化版本
//System.Net.WebRequest wr = System.Net.WebRequest.Create(TokenURL);
//System.IO.Stream s = wr.GetResponse().GetResponseStream();
//System.IO.StreamReader sr = new System.IO.StreamReader(s, System.Text.Encoding.Default);
//PhotoToken = sr.ReadToEnd(); //读取网站的数据
}
发送数据(暂没测试):
/// <summary>
/// 发送数据
/// </summary>
/// <param name="_url"></param>
/// <param name="_content"></param>
/// <param name="_outresult"></param>
public void MSendMessage(string _url, string _content,out string _outresult)
{
string result = null;
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(_url);
req.Method = "POST";
req.ContentType = "application/octet-stream";
byte[] bytes = Encoding.UTF8.GetBytes(_content);
req.ContentLength = bytes.Length;
using (Stream streamsend = req.GetRequestStream())
{
streamsend.Write(bytes, 0, bytes.Length);
streamsend.Close();
}
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream streamreceive = res.GetResponseStream();
using (StreamReader reader = new StreamReader(streamreceive, Encoding.UTF8))
{
result = reader.ReadToEnd();
}
Console.WriteLine("提交数据后收到的数据:" + result);
}
catch(WebException e)
{
Console.WriteLine("M提交数据后错误信息:" + e.Message);
}
_outresult = result;
}