HttpClinet调用
using (var client = new HttpClient())
{
var requestJson = JsonConvert.SerializeObject(new { sap_code = "K00LSC0000004", plant = "3000" });
HttpContent httpContent = new StringContent(requestJson);
httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
client.BaseAddress = new Uri("http://199.234.20.194:8000");
var result = client.PostAsync("/sap/mm/mm03", httpContent).Result;
string resultContent = result.Content.ReadAsStringAsync().Result;
MessageBox.Show(resultContent);
}
技术要点
- 传入的参数先用json序列化。(引用网站的需求)。
- 这里使用了json.net的一个三方包。
- .NET 4.5才支持 httpclint技术。
HttpWebRequest
string domain = "http://199.234.20.194:8000";
string url = domain + "/sap/mm/mm03";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "application/json";
request.ReadWriteTimeout = 30 * 1000;
String postStr = JsonConvert.SerializeObject(new { sap_code = "kk", plant = "3000" });
byte[] data = Encoding.UTF8.GetBytes(postStr);
request.ContentLength = data.Length;
Stream myRequestStream = request.GetRequestStream();
myRequestStream.Write(data, 0, data.Length);
myRequestStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
var retString = myStreamReader.ReadToEnd();
myStreamReader.Close();