tangxu
2024-02-28 1f30aac81480831d7f4838f2cfb24c15c76708f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text; 
 
namespace IStation.BLL
{
    public class AnaSetting
    {
        public static Model.AnaSetting GetSetting()
        {
            string apiServiceUrl = System.Configuration.ConfigurationManager.AppSettings["ApiServiceUrl"];
            if (string.IsNullOrEmpty(apiServiceUrl))
            {
                return null;
            }
            string url = string.Format(@"{0}\AnaSetting\GetSetting", apiServiceUrl);
 
 
            //先根据用户请求的uri构造请求地址
            //string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
            //string ContentType = "application/json";
            string Accept = "application/json";
            //创建Web访问对象
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
            //把用户传过来的数据转成“UTF-8”的字节流
            //byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(parameterData);
 
            myRequest.Method = "GET";
            //myRequest.Accept = "application/json";
            //myRequest.ContentType = "application/json";  // //Content-Type: application/x-www-form-urlencoded 
            myRequest.AutomaticDecompression = DecompressionMethods.GZip;
            myRequest.Accept = Accept;
            //myRequest.ContentType = ContentType;
            myRequest.ContentType = "application/json; charset=UTF-8";
            //myRequest.ContentLength = buf.Length;
            myRequest.MaximumAutomaticRedirections = 1;
            myRequest.AllowAutoRedirect = true;
 
            //myRequest.Headers.Add("content-type", "application/json");
            //myRequest.Headers.Add("accept-encoding", "gzip");
            //myRequest.Headers.Add("accept-charset", "utf-8");
 
            //发送请求
            //Stream stream = myRequest.GetRequestStream();
            //stream.Write(buf, 0, buf.Length);
            //stream.Close();
 
            //通过Web访问对象获取响应内容
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            //通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
            //string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//如果有编码问题就用这个方法
            string returnData = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
            if (string.IsNullOrEmpty(returnData))
            {
                myResponse.Close();
                return null;
            }
            var ret = (new System.Web.Script.Serialization.JavaScriptSerializer()).Deserialize<IStation.Dto.ApiResult<Model.AnaSetting>>(returnData);
            reader.Close();
            myResponse.Close();
 
 
            return ret.Data;
        }
 
 
 
        public static void SaveSetting(Model.AnaSetting list)
        {
            string apiServiceUrl = System.Configuration.ConfigurationManager.AppSettings["ApiServiceUrl"];
            if (string.IsNullOrEmpty(apiServiceUrl))
            {
                return;
            }
 
            string url = string.Format(@"{0}\AnaSetting\SaveSetting", apiServiceUrl);
 
 
 
            string parameterData = (new System.Web.Script.Serialization.JavaScriptSerializer()).Serialize(list);
            //先根据用户请求的uri构造请求地址
            //string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
            //string ContentType = "application/json";
            string Accept = "application/json";
            //创建Web访问对象
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
            //把用户传过来的数据转成“UTF-8”的字节流
            byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(parameterData);
 
            myRequest.Method = "POST";
            //myRequest.Accept = "application/json";
            //myRequest.ContentType = "application/json";  // //Content-Type: application/x-www-form-urlencoded 
            myRequest.AutomaticDecompression = DecompressionMethods.GZip;
            myRequest.Accept = Accept;
            //myRequest.ContentType = ContentType;
            myRequest.ContentType = "application/json; charset=UTF-8";
            myRequest.ContentLength = buf.Length;
            myRequest.MaximumAutomaticRedirections = 1;
            myRequest.AllowAutoRedirect = true;
 
            //myRequest.Headers.Add("content-type", "application/json");
            //myRequest.Headers.Add("accept-encoding", "gzip");
            //myRequest.Headers.Add("accept-charset", "utf-8");
 
            //发送请求
            Stream stream = myRequest.GetRequestStream();
            stream.Write(buf, 0, buf.Length);
            stream.Close();
 
            //通过Web访问对象获取响应内容
            HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
            //通过响应内容流创建StreamReader对象,因为StreamReader更高级更快
            StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
            //string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//如果有编码问题就用这个方法
            string returnData = reader.ReadToEnd();//利用StreamReader就可以从响应内容从头读到尾
 
            reader.Close();
            myResponse.Close();
        }
      
    }
}