• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#使用HttpWebRequest,HttpWebResponse

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

C#中使用HttpWebRequest发送网络请求,HttpWebResponse接收网络请求

具体如下:

一、HttpWebRequest

1、HttpWebRequest 发送Get请求:

            //请求的地址
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://api.qq.com/tok?type=cli");
            //请求方法
            req.Method = "GET";
            //数据内容类型
            req.ContentType = "application/json";
            //请求的超时时间    10秒还没出来就超时
            req.Timeout = 10000;
            //接收响应的结果
            HttpWebResponse response = (HttpWebResponse)req.GetResponse();
            //接收HTTP响应的数据流
            using (Stream resStream = response.GetResponseStream())
            {
                //把数据流存入StreamReadr,选用编码格式
                using (StreamReader reader = new StreamReader(resStream, Encoding.UTF8))
                {
                    //通过ReadToEnd()把整个HTTP响应作为一个字符串取回,
                    //也可以通过 StreamReader.ReadLine()方法逐行取回HTTP响应的内容。
                    string responseContent = reader.ReadToEnd().ToString();
                }
            }

HTTP 内容类型(Content-Type)

普通文本 "text/plain";
JSON字符串 "application/json";
未知类型(数据流) "application/octet-stream";
表单数据(键值对) "application/x-www-form-urlencoded";
表单数据(键值对)编码方式为 gb2312 "application/x-www-form-urlencoded;charset=gb2312";
表单数据(键值对)编码方式为 utf-8 "application/x-www-form-urlencoded;charset=utf-8";
多分部数据 "multipart/form-data";

提交的时候可以说明编码的方式,用来使对方服务器能够正确的解析。

该ContentType的属性包含请求的媒体类型。分配给ContentType属性的值在请求发送Content-typeHTTP标头时替换任何现有内容。

要清除Content-typeHTTP标头,请将ContentType属性设置为null。

2、HttpWebRequest 发送Post请求:

 public static string HttpPost(string Url, string postDataStr)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
            request.Method = "POST";
            request.ContentType = "application/json";//"application/x-www-form-urlencoded";
            request.ContentLength = postDataStr.Length;
            StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII);
            writer.Write(postDataStr);
            writer.Flush();
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            string encoding = response.ContentEncoding;
            if (encoding == null || encoding.Length < 1)
            {
                encoding = "UTF-8"; //默认编码 
            }
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));
            string retString = reader.ReadToEnd();
            return retString;
        }

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C语言-求1-20的阶乘的和(函数的递归)发布时间:2022-07-13
下一篇:
VisualC#.Net网络程序开发-Tcp篇发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap