偶爾騙自己可以,但別習慣了。
開篇序:
不可否認,人與人之間存在差距,有的人生來環境優越,有的人生來天賦異稟,有些時候你奮力追求,卻可能只能趕上別人的零頭甚至不及。於是,有的人習慣上了騙自己,明知是不道義的事,卻騙自己公司就是賺錢的,我只是完成我的工作;看到別人或者別人的伴侶物質條件好,不想自己如何去掙來,每天一如既往的聽天由命的漫不經心,沒心沒肺的吃喝玩樂,卻想著能夠找一個物質條件好的,騙自己說這叫追求幸福;老闆們明知需要付出同等的代價才能有同等的收益,卻騙自己給他們機會已經是莫大的仁慈和機會了反過頭來怪別人不敬業等等。但為什麼不反過來,別人生來優越,我們可以騙自己只要努力總會追上的,即使追不上至少也不會差到哪去,別人天賦異稟,騙自己認真做好是就行,總好過那些沒心沒肺的醉生夢死吧。當然所有的騙自己,別習慣了,前者不必說,後者太累。
正文: 利用 HttpWebRequest 呼叫介面
public class HttpWebService { private static CookieContainer cookiecon = new CookieContainer();
static ReadConfig readfig = new ReadConfig();
/// <summary> /// 獲取頭部URL /// </summary> /// <returns></returns> public static string GetServiceUrl() { string weburl = readfig.GetPortString(); return weburl; }
/// <summary> /// GET方式提交資料,直接將傳遞的引數追加到URL後面,帶上 引數前面加上 ? 號 /// </summary> /// <param name="Url">介面Url地址</param> /// <param name="postDataStr">追加的引數</param> /// <returns></returns> public static string HttpGet(string Url, string postDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr); string s = Url + (postDataStr == "" ? "" : "?") + postDataStr; request.Method = "GET"; request.ContentType = "application/json;charset=UTF-8"; request.Timeout = 100000; // 超時時間 if (cookiecon.Count == 0) { request.CookieContainer = new CookieContainer(); cookiecon = request.CookieContainer; } else { request.CookieContainer = cookiecon; } HttpWebResponse response = null; string retString = null; try { response = (HttpWebResponse)request.GetResponse();
} catch (WebException es) { response = (HttpWebResponse)es.Response; request.Abort();
} Stream myResponseStream = null; try { myResponseStream = response.GetResponseStream(); using (StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"))) { retString = myStreamReader.ReadToEnd(); } } catch (Exception ) { throw; } finally { if (response != null) { try { response.Close(); } catch { request.Abort(); } }
} return retString; }
/// <summary> /// POST提交資料 /// </summary> /// <param name="url">介面URL</param> /// <param name="jsonData"> json形式引數</param> /// <returns>錯誤頁面、結果 或 正確處理的結果 </returns> public static string PostToHttpService(string url, string jsonData) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/json;charset=UTF-8"; //request.Credentials = new NetworkCredential(userName, password); request.Timeout = 180000;//兩分鐘 request.ReadWriteTimeout = 180000;//兩分鐘 request.KeepAlive = true;
string paraUrlCoded = System.Web.HttpUtility.UrlEncode(jsonData);
byte[] datas = Encoding.UTF8.GetBytes(jsonData); request.ContentLength = datas.Length;
if (cookiecon.Count == 0) { request.CookieContainer = new CookieContainer(); cookiecon = request.CookieContainer; } else { request.CookieContainer = cookiecon; }
try { Stream requestStream = request.GetRequestStream(); requestStream.Write(datas, 0, datas.Length); requestStream.Close(); } catch (System.Net.ProtocolViolationException ) { request.Abort(); } catch (System.Net.WebException ) { request.Abort(); } catch (System.ObjectDisposedException ) { request.Abort(); } catch (System.InvalidOperationException ) { request.Abort(); } catch (System.NotSupportedException ) { request.Abort(); }
HttpWebResponse response = null; string responseDatas = string.Empty; try { response = (HttpWebResponse)request.GetResponse();
} catch (WebException ex) { response = (HttpWebResponse)ex.Response; request.Abort(); } finally {
Stream streamResponse = response.GetResponseStream(); using (StreamReader sr = new StreamReader(streamResponse)) { responseDatas = sr.ReadToEnd(); } if (response != null) { try { response.Close(); } catch { request.Abort(); } } } return responseDatas; } }