Blame view

Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/HttpHelper.cs 4.89 KB
515fceeb   “wangming”   框架初始化
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
  using System;
  using System.Collections.Generic;
  using System.IO;
  using System.Linq;
  using System.Net;
  using System.Net.Http;
  using System.Net.Mime;
  using System.Text;
  using System.Text.Json;
  using System.Text.RegularExpressions;
  using System.Threading.Tasks;
  
  namespace Yi.Framework.Core.Helper
  {
      public static class HttpHelper
      {
  
          public static HttpClient Client { get; set; } = new HttpClient();
  
          public static async Task<string> Get(string url)
          {
              return await Client.GetStringAsync(url);
          }
  
          public static async Task<Stream> GetIO(string url)
          {
              return await Client.GetStreamAsync(url);
          }
  
  
          public static async Task<string> Post(string url, object? item = null, Dictionary<string, string>? head = null)
          {
  
              using StringContent json = new(JsonSerializer.Serialize(item), Encoding.UTF8, MediaTypeNames.Application.Json);
  
  
              if (head is not null)
              {
                  foreach (var d in head)
                  {
                      json.Headers.Add(d.Key, d.Value);
                  }
              }
  
              var httpResponse = await Client.PostAsync(url, json);
  
              httpResponse.EnsureSuccessStatusCode();
  
              var content = httpResponse.Content;
  
              return await content.ReadAsStringAsync();
          }
  
  
          //        public static string HttpGet(string Url, string postDataStr="")
          //        {
          //#pragma warning disable SYSLIB0014 // 类型或成员已过时
          //            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
          //#pragma warning restore SYSLIB0014 // 类型或成员已过时
          //            request.Method = "GET";
          //            request.ContentType = "text/html;charset=UTF-8";
  
          //            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
          //            Stream myResponseStream = response.GetResponseStream();
          //            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
          //            string retString = myStreamReader.ReadToEnd();
          //            myStreamReader.Close();
          //            myResponseStream.Close();
  
          //            return retString;
          //        }
  
          //        public static bool HttpIOGet(string Url, string file, string postDataStr="")
          //        {
          //            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
          //            request.Method = "GET";
          //            request.ContentType = "text/html;charset=UTF-8";
  
          //            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
          //            Stream myResponseStream = response.GetResponseStream();
          //            FileStream writer = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write);
          //            byte[] buffer = new byte[1024];
          //            int c;
          //            while ((c = myResponseStream.Read(buffer, 0, buffer.Length)) > 0)
          //            {
          //                writer.Write(buffer, 0, c);
          //            }
          //            writer.Close();
          //            myResponseStream.Close();
  
          //            return true;
          //        }
  
          //        public static string HttpPost(string Url, string postDataStr="")
          //        {
          //            CookieContainer cookie = new CookieContainer();
          //#pragma warning disable SYSLIB0014 // 类型或成员已过时
          //            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
          //#pragma warning restore SYSLIB0014 // 类型或成员已过时
          //            request.Method = "POST";
          //            request.ContentType = "application/x-www-form-urlencoded";
          //            request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
          //            request.CookieContainer = cookie;
  
          //            Stream myRequestStream = request.GetRequestStream();
          //            StreamWriter myStreamWriter = new StreamWriter(myRequestStream, Encoding.GetEncoding("gb2312"));
          //            myStreamWriter.Write(postDataStr);
          //            myStreamWriter.Close();
  
          //            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  
          //            response.Cookies = cookie.GetCookies(response.ResponseUri);
          //            Stream myResponseStream = response.GetResponseStream();
          //            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
          //            string retString = myStreamReader.ReadToEnd();
          //            myStreamReader.Close();
          //            myResponseStream.Close();
  
          //            return retString;
          //        }
      }
  }