一.先在工程增加 类
using System;
using ;
using ;
using ;
using ;
using ;
using ;
using ;
using ;
namespace
{
class RestClient
{
private Cookies = new ();
private string BaseUri;
public RestClient(string baseUri)
{
= baseUri;
}
#region Get请求
public string Get(string uri)
{
//先根据用户请求的uri构造请求地址
string serviceUrl = ("{0}/{1}", , uri);
//创建Web访问对 象
HttpWebRequest myRequest = (HttpWebRequest)(serviceUrl);
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader((), Encoding.UTF8);
//string returnXml = (());//如果有编码问题就用这个方法
string returnXml = ();//利用StreamReader就可以从响应内容从头读到尾
();
();
return returnXml;
}
//internal string Post(string v)
//{
// throw new NotImplementedException();
//}
#endregion
#region Post请求
public string Post(string data, string uri)
{
#if true
//先根据用户请求的uri构造请求地址
string serviceUrl = ("{0}/{1}", , uri);
//创建Web访问对象
HttpWebRequest myRequest = (HttpWebRequest)(serviceUrl);
//.Expect100Continue = false; // 取消100-continue
//private Cookies = new ();
// = Cookies; //头后面加两个 \r\n
//ServicePointManager.Expect100Continue = false;// 取消100-continue
// = true;
//ServicePointManager.Expect100Continue = true;
// = true;
// = ;
// = 3000;
// = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.83 Safari/535.11";
//把用户传过来的数据转成“UTF-8”的字节流
byte[] buf = ("UTF-8").GetBytes(data);
= "POST";
= "application/json";//Http内容类型
= 1;//获取或设置请求将跟随的重定向的最大数目。
= true;//获取或设置一个值,该值指示请求是否应跟随重定向响应。
= false;//获取或设置一个值,该值指示是否将数据分段发送到 Internet 资源。
= Cookies;//获取或设置与此请求关联的cookie。
= "cps";//获取或设置 User-agent HTTP 标头的值
= 18000;//获取或设置请求的超时值。 设置请求超时时间,单位为毫秒
= ;
//发送请求
//Stream stream = ();
Stream stream = null;
try
{
stream = (); //获取用于写入请求数据的Stream对象
}
catch (Exception ex)
{
(ex);
return "";
}
(buf, 0, );
();
//获取接口返回值
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader((), Encoding.UTF8);
//string returnXml = (());//如果有编码问题就用这个方法
string returnXml = ();//利用StreamReader就可以从响应内容从头读到尾
();
();
return returnXml;
#endif
}
#endregion
#region Put请求
public string Put(string data, string uri)
{
//先根据用户请求的uri构造请求地址
string serviceUrl = ("{0}/{1}", , uri);
//创建Web访问对象
HttpWebRequest myRequest = (HttpWebRequest)(serviceUrl);
//把用户传过来的数据转成“UTF-8”的字节流
byte[] buf = ("UTF-8").GetBytes(data);
= "PUT";
= ;
= "application/json";
= 1;
= true;
//发送请求
Stream stream = ();
(buf, 0, );
();
//获取接口返回值
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader((), Encoding.UTF8);
//string returnXml = (());//如果有编码问题就用这个方法
string returnXml = ();//利用StreamReader就可以从响应内容从头读到尾
();
();
return returnXml;
}
#endregion
#region Delete请求
public string Delete(string data, string uri)
{
//先根据用户请求的uri构造请求地址
string serviceUrl = (“{0}/{1}”, , uri);
//创建Web访问对象
HttpWebRequest myRequest = (HttpWebRequest)(serviceUrl);
//把用户传过来的数据转成“UTF-8”的字节流
byte[] buf = (“UTF-8”).GetBytes(data);
= "DELETE";
= ;
= "application/json";
= 1;
= true;
//发送请求
Stream stream = ();
(buf, 0, );
();
//获取接口返回值
//通过Web访问对象获取响应内容
HttpWebResponse myResponse = (HttpWebResponse)();
//通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
StreamReader reader = new StreamReader((), Encoding.UTF8);
//string returnXml = (());//如果有编码问题就用这个方法
string returnXml = ();//利用StreamReader就可以从响应内容从头读到尾
();
();
return returnXml;
}
#endregion
}
}
二.调用Post发送数据
RestClient client = new RestClient("http://192.168.001.110:8086");
string result = ("{"day":8,"hour":15,"min":42,"month":5,"sec":15,"week":1,"year":2023}", "api/v1/settimecfg");