首页 > 编程知识 正文

C#通过http调用JavaApi

时间:2023-05-05 21:09:39 阅读:224812 作者:2939

C#通过http调用JavaApi C#发送HTTP请求,带参数C#工程javaApi

C#发送HTTP请求,带参数

c#发送请求以json字符串格式传参,对象传参两种调用方法

C#工程

private void button1_Click(object sender, EventArgs e) { try { string url = @"http://localhost:8080/user"; System.Net.HttpWebRequest req = null; System.Net.HttpWebResponse res = null; req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url); //创建HTTP 请求 req.Method = "POST"; //json字符串 req.ContentType = "application/json;charset=UTF-8"; //发送参数格式 string jsonParam = "{ "name":"狂野的黄豆","sex":"女","age":"12"}"; byte[] byteData = Encoding.UTF8.GetBytes(jsonParam); int length = byteData.Length; req.ContentLength = length; Stream writer = req.GetRequestStream(); writer.Write(byteData, 0, length); writer.Close(); res = (System.Net.HttpWebResponse)req.GetResponse(); //获取请求返回的响应 System.IO.StreamReader read = new System.IO.StreamReader(res.GetResponseStream()); //读取来自API 接口的响应中的内容,也就是它的体 textBox1.Text = read.ReadToEnd().ToString(); //输出StreamReader 中所有的流 } catch (System.Net.WebException ex) { Console.WriteLine("This program is expected to throw WebException on successful run." + "nnException Message :" + ex.Message); if (ex.Status == WebExceptionStatus.ProtocolError) { Console.WriteLine("Status Code : {0}", ((HttpWebResponse)ex.Response).StatusCode); Console.WriteLine("Status Description : {0}", ((HttpWebResponse)ex.Response).StatusDescription); } Console.WriteLine(ex.Message); throw; } } private void button2_Click(object sender, EventArgs e) { try { string url = @"http://localhost:8080/user"; RequestMessage requestMessage = new RequestMessage(); requestMessage.name = "zgdkj"; requestMessage.sex = "男"; requestMessage.age = "12"; //创建一个http请求 System.Net.HttpWebRequest req = null; System.Net.HttpWebResponse res = null; req = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url); req.Method = "POST"; //req.RequestFormat = req.ContentType = "application/json;charet = UTF-8"; byte[] bytData = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(requestMessage)); int length = bytData.Length; req.ContentLength = length; Stream writer = req.GetRequestStream(); writer.Write(bytData, 0, length); writer.Close(); res = (System.Net.HttpWebResponse)req.GetResponse(); //获取请求返回的响应 System.IO.StreamReader read = new System.IO.StreamReader(res.GetResponseStream()); //读取来自API 接口的响应中的内容,也就是它的体 textBox1.Text = read.ReadToEnd().ToString(); //输出StreamReader 中所有的流 } catch (Exception exc) { throw exc; } } public class RequestMessage { [JsonProperty("name")] public string name { get; set; } [JsonProperty("sex")] public string sex { get; set; } [JsonProperty("age")] public string age { get; set; } } javaApi @RestController@RequestMapping("/user")public class ReceiveCController { @PostMapping public String receive(@RequestBody User user){ try { System.out.println(user); } catch (Exception e) { e.printStackTrace(); } return "我是" + user.getName() +":" +user.getSex(); }}

以上代码仅供参考

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。