很多时候涉及到前段和服务器之间的通信,我这里用的是VisualStudio写前段和Myeclipse通信
使用“Post”方式进行。
以下是工具类:
namespace FleaMarket//命名空间
{
class HttpUtils
{
public static string Post(string Url, System.Collections.Hashtable pars)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
string buffer = "";
if (!(pars == null || pars.Count == 0))
{
foreach (string key in pars.Keys)
{
buffer = buffer + "&" + key + "=" + pars[key].ToString();
}
}
byte[] postmsg = Encoding.UTF8.GetBytes(buffer);
Stream myResponseStream = request.GetRequestStream();
myResponseStream.Write(postmsg, 0, postmsg.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
if (response != null)
{
response.Close();
}
if (request != null)
{
request.Abort();
}
return retString;
}
}
}
我们具体怎么运用这个工具类呢?
我们看到在post方法中有两个参数
string Url, System.Collections.Hashtable pars
也就是访问地址和你发上去的内容,所以访问这个方法时我们就需要建立两个变量和一个哈希表:
string url = "这里面填写你要post的地址";
System.Collections.Hashtable pars = new System.Collections.Hashtable();
pars.Add("state", 4);
string result = HttpUtils.Post(url, pars);
System.Console.WriteLine(result);
这样就大功告成了!