

Nextrek
@ 752
Nextrek / Android / SmartCharging / SmartCharging_WP / SmartCharging / Net / Net.cs
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 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Http; using Newtonsoft.Json; using System.Net.Http.Headers; namespace SmartCharging.Net { class Net { private static Net instance; private Net() { } public static Net Instance { get { if (instance == null) { instance = new Net(); } return instance; } } public async Task<string> GetRequest(Uri url, Dictionary<string, string> parameters) { if ( !parameters.Equals(null)) { FormUrlEncodedContent ps = new FormUrlEncodedContent(parameters); string query = ps.ReadAsStringAsync().Result; url = new Uri(url.ToString() + "?" + query); } string result = ""; using (var httpClient = new HttpClient()) { HttpResponseMessage response = await httpClient.GetAsync(url); result = await response.Content.ReadAsStringAsync(); } return result; } public async Task<string> PostRequest(Uri url, Dictionary<string,string> parameters) { string result = ""; using (var httpClient = new HttpClient()) { HttpContent content = new FormUrlEncodedContent(parameters); HttpResponseMessage response = await httpClient.PostAsync(url, content); result = await response.Content.ReadAsStringAsync(); } return result; } public async Task<string> PostRequest(Uri url, string rawRequestContent) { string result = ""; using (var httpClient = new HttpClient()) { HttpContent content = new StringContent(rawRequestContent); HttpResponseMessage response = await httpClient.PostAsync(url, content); result = await response.Content.ReadAsStringAsync(); } return result; } public async Task<string> PostRequest(Uri url, byte[] byteData, Dictionary<string,string> parameters, string type) { string result = ""; using (var httpClient = new HttpClient()) { MultipartFormDataContent form = new MultipartFormDataContent(); HttpContent content = new ByteArrayContent(byteData); content.Headers.ContentType = MediaTypeHeaderValue.Parse(type); List<KeyValuePair<string, string>> pairs = parameters.ToList<KeyValuePair<string, string>>(); KeyValuePair<string, string> pair = pairs[0]; form.Add(content, pair.Key, pair.Value); pairs.Remove(pairs[0]); for (int i = 0; i < pairs.Count; i++) { HttpContent formContent = new StringContent(pairs[i].Value); form.Add(formContent,pairs[i].Key); } HttpResponseMessage response = await httpClient.PostAsync(url, form); result = await response.Content.ReadAsStringAsync(); } return result; } } } |