123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Text;
- namespace CollectInformation.Tools
- {
- public static class HttpUitls
- {
- public static Dictionary<string, string> Get(string Url)
- {
- return Get(Url, null);
- }
- public static Dictionary<string, string> Get(string Url, string userToken)
- {
- Dictionary<string, string> ret = new Dictionary<string, string>();
- ret.Add("code", "1");
- try
- {
- //System.GC.Collect();
- HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
- request.Proxy = null;
- request.KeepAlive = false;
- request.Method = "GET";
- request.ContentType = "application/json; charset=UTF-8";
- if (userToken != null)
- {
- request.Headers.Add("Authorization", userToken);
- }
- request.AutomaticDecompression = DecompressionMethods.GZip;
- HttpWebResponse response = (HttpWebResponse)request.GetResponse();
- Stream myResponseStream = response.GetResponseStream();
- StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);
- string retString = myStreamReader.ReadToEnd();
- myStreamReader.Close();
- myResponseStream.Close();
- if (response != null)
- {
- response.Close();
- }
- if (request != null)
- {
- request.Abort();
- }
- ret.Add("data", retString);
- }
- catch (Exception e)
- {
- ret["code"] = "0";
- ret.Add("message", e.Message);
- }
- return ret;
- }
- public static Dictionary<string, string> Post(string Url, string Data, string Referer)
- {
- return Post(Url, Data, Referer, null);
- }
- public static Dictionary<string, string> Post(string Url, string Data, string Referer, string userToken)
- {
- Dictionary<string, string> ret = new Dictionary<string, string>();
- ret.Add("code", "1");
- try
- {
- HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
- request.Method = "POST";
- request.Referer = Referer;
- byte[] bytes = Encoding.UTF8.GetBytes(Data);
- request.ContentType = "application/json; charset=UTF-8";
- if (userToken != null)
- {
- request.Headers.Add("Authorization", userToken);
- }
- request.ContentLength = bytes.Length;
- Stream myResponseStream = request.GetRequestStream();
- myResponseStream.Write(bytes, 0, bytes.Length);
- HttpWebResponse response = (HttpWebResponse)request.GetResponse();
- StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
- string retString = myStreamReader.ReadToEnd();
- // 添加调试输出
- Console.WriteLine(retString);
- ret.Add("data", retString);
- myStreamReader.Close();
- myResponseStream.Close();
- if (response != null)
- {
- response.Close();
- }
- if (request != null)
- {
- request.Abort();
- }
- }
- catch (Exception e)
- {
- ret["code"] = "0";
- ret.Add("message", e.Message);
- }
- return ret;
- }
- /// <summary>
- /// 通过http上传图片及传参数
- /// </summary>
- /// <param name="imgPath">图片地址(绝对路径:D:\demo\img\123.jpg)</param>
- public static Dictionary<string, string> UploadImage(string uploadUrl, string imgPath, string userToken)
- {
- Dictionary<string, string> ret = new Dictionary<string, string>();
- ret.Add("code", "1");
- try
- {
- string resstr = "";
- WebClient webClient = new WebClient();
- if (userToken != null)
- {
- webClient.Headers.Add("Authorization", userToken);
- }
- byte[] res = webClient.UploadFile(uploadUrl, "POST", imgPath);
- if (res != null)
- {
- resstr = System.Text.Encoding.UTF8.GetString(res);
- }
- ret.Add("data", resstr);
- }
- catch (Exception e)
- {
- ret["code"] = "0";
- ret.Add("message", e.Message);
- }
- return ret;
- }
- }
- }
|