最近有個需求,需要用HTTP Post一段資訊,而且不是用Query String的方式,然後還要在Header中加認證資訊,之前用的WebRequest方式都不適用,於是找了新的方式,主要是參考How to: Send Data Using the WebRequest Class,我有做了一些修改,主要是Encoding跟Header的部分,剩下的差不多。
語法大概是長這樣,不過我是拿專案內的function貼過來才改的,直接拿去用如果不會動,可能是有哪邊改壞了XD,反正意思到了就好。
語法大概是長這樣,不過我是拿專案內的function貼過來才改的,直接拿去用如果不會動,可能是有哪邊改壞了XD,反正意思到了就好。
string GetRequest() { string body = "Line 1" + Environment.NewLine + "Line 2" + Environment.NewLine "Line 3" + Environment.NewLine ; string Link = "http://www.died.tw"; string header = "PASSWORD"; byte[] byteArray = Encoding.GetEncoding("Big5").GetBytes(body); WebRequest request = WebRequest.Create(Link); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.Headers.Add("Authorization", header); //Header名稱自己改 request.ContentLength = byteArray.Length; Stream dataStream = request.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); WebResponse response = request.GetResponse(); string ResultCode = ((HttpWebResponse)response).StatusCode.ToString(); dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding("Big5")); string Result = reader.ReadToEnd(); reader.Close(); dataStream.Close(); response.Close(); if (ResultCode == "OK") { return Result; } else { return null; } }
No comments:
Post a Comment