c# WebRequest application/json 发送POST或GET请求

本文章主要介绍WebRequest application/json,POSTGET两种请求方式

使用WebRequest发送POST请求

可选择性设置设置代理地址

        /// <summary>
        /// WebRequest application/json POST请求
        /// </summary>
        /// <param name="url"></param>
        /// <param name="jsonParam">json数据对象</param>
        /// <param name="encode">"UTF-8"</param>
        /// <returns></returns>
        public JObject PostProxyJson(string url, string jsonParam, string encode)
        {   
            // 设置代理地址,默认可删除
            // string proxyUri ="www.baidu.com";
            // WebProxy proxy = new WebProxy(proxyUri);

            WebRequest request = WebRequest.Create(url);
            request.Method = "POST";
            // 赋值代理,默认可删除
            // request.Proxy = proxy;
            // 自定义给头部赋值
            request.Headers.Add("x-qys", sig);
            request.ContentType = "application/json;charset=" + encode.ToUpper();
            string paraUrlCoded = jsonParam;
            byte[] payload;
            payload = System.Text.Encoding.GetEncoding(encode.ToUpper()).GetBytes(paraUrlCoded);
            request.ContentLength = payload.Length;
            Stream writer = request.GetRequestStream();
            writer.Write(payload, 0, payload.Length);
            writer.Close();
            WebResponse response = request.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encode));
            string res = sr.ReadToEnd();
            JObject jobj = SerializeUtil.JsonDeserialize<JObject>(res);
            return jobj;
        }

使用WebRequest发送GET请求


        public JObject GetData(string token)
        {
            // 参数通过url地址栏传递
            string url = "";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
            // 设置代理地址,可忽略
            // string proxyUri = "";
            // WebProxy proxy = new WebProxy(proxyUri);
            req.Proxy = proxy;
            req.Method = "GET";
            req.Accept = "application/json";
            // 设置头部信息
            req.Headers["Authorization"] = "Bearer " + token;

            HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
            Stream stream = resp.GetResponseStream();

            WebResponse response = req.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            string res = sr.ReadToEnd();
            stream.Close();
            JObject jobj = SerializeUtil.JsonDeserialize<JObject>(res);
            return jobj;
        }
posted @   亘古不变  阅读(4)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示