C# 调用POST请求
public static void PostUrl_Ex(string url, string postData) { try { //对于提交内容中的中文使用UrlEncode方式编码 发送 //string dataSource = "name=1234&qq=1234421&topicName=%E5%BA%86%E7%86%99%E5%A4%A7%E5%AD%A6MBA"; string dataSource = postData; //Http协议内容 使用ASCII码字符 byte[] data = Encoding.ASCII.GetBytes(dataSource); //发送信息 //HttpWebRequest req = WebRequest.CreateHttp(url); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "post"; req.ContentType = "application/json"; //req.Timeout = 5 * 1000;//请求超时时间 //Accept - Language:zh - CN,zh; q = 0.8 req.Headers.Add("Accept-Language", "zh - CN,zh; q = 0.8"); req.Credentials = new NetworkCredential("root", "root123"); //指定客户端代理的方式 //req.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2560.0 Safari/537.36"; //此方式不可用 //req.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2560.0 Safari/537.36"); //添加Post参数 Stream reqStream = req.GetRequestStream(); reqStream.Write(data, 0, data.Length); reqStream.Close(); //接收相应 HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); Stream respStream = resp.GetResponseStream(); StreamReader reader = new StreamReader(respStream, Encoding.UTF8); string result = reader.ReadToEnd(); reader.Close(); } catch (Exception e) { //e.Message.ToString() } }
/// <summary> /// /// </summary> /// <param name="url">为请求地址: http://127.0.0.1:8080/wms/broadcast/startAlarmTaskTTS </param> /// <param name="postData">请求内容 Json格式串</param> /// <returns></returns> public static string PostUrl(string url, string postData) { string result = ""; while (true) { try { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/json"; req.Timeout = 5 * 1000;//请求超时时间 //req.ReadWriteTimeout = 5 * 1000; //访问成功后读写流超时 req.Credentials = new NetworkCredential("root", "root123"); //byte[] data = Encoding.UTF8.GetBytes(postData); //req.ContentLength = data.Length; using (var streamWriter = new StreamWriter(req.GetRequestStream())) { streamWriter.Write(postData); streamWriter.Flush(); streamWriter.Close(); } HttpWebResponse resp = (HttpWebResponse)req.GetResponse(); if (resp.StatusCode != HttpStatusCode.OK) //如果服务器未响应,那么继续等待相应 continue; Stream stream = resp.GetResponseStream(); //获取响应内容 using (StreamReader reader = new StreamReader(stream)) { result = reader.ReadToEnd(); } } catch (Exception e) { MessageBox.Show(e.Message.ToString()); } return result; } }
欢迎加群交流 QQ群 830426796
欢迎加群交流 QQ群 : 830426796