C#中如何通过HTTP协议的不同请求方式获取数据
发布日期:2021-11-09 22:50:44 浏览次数:37 分类:技术文章

本文共 2011 字,大约阅读时间需要 6 分钟。

private string GetRequest(string url)

        {

           string content = "";

           Uri httpURL = new Uri(url);

           ///HttpWebRequest类继承于WebRequest,并没有自己的构造函数,需通过WebRequestCreat方法 建立,并进行强制的类型转换  

            HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(httpURL);

            httpReq.Credentials = new NetworkCredential("***""****");

           ///通过HttpWebRequestGetResponse()方法建立HttpWebResponse,强制类型转换  

            HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();

           ///GetResponseStream()方法获取HTTP响应的数据流,并尝试取得URL中所指定的网页内容  

            ///若成功取得网页的内容,则以System.IO.Stream形式返回,若失败则产生ProtoclViolationException 误。在此正确的做法应将以下的代码放到一个try块中处理。这里简单处理  

            Stream respStream = httpResp.GetResponseStream();

           ///返回的内容是Stream形式的,所以可以利用StreamReader类获取GetResponseStream的内容,并以  

            //StreamReader类的Read方法依次读取网页源程序代码每一行的内容,直至行尾(读取的编码格式:UTF8  

            StreamReader respStreamReader = new StreamReader(respStream, Encoding.UTF8);

            content = respStreamReader.ReadToEnd();

           return content;

        }

       public string PostRequest(string Paras, string Url)

        {

           string result = "";

           HttpWebRequest request = WebRequest.Create(Url) as HttpWebRequest;

            request.Method = "POST";

            request.ContentType = "application/json";

           httpReq.Credentials = new NetworkCredential("***""****");

           string data = Paras;

           byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());

            request.ContentLength = byteData.Length;

 

           using (Stream postStream = request.GetRequestStream())

            {

                postStream.Write(byteData, 0, byteData.Length);

            }

 

           using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)

            {

               StreamReader reader = new StreamReader(response.GetResponseStream());

                result = reader.ReadToEnd();

            }

           return result;

        }

       public string DeleteRequest(string Url)

        {

           HttpWebRequest myrequest = (HttpWebRequest)WebRequest.Create(Url);

            myrequest.Method = "DELETE";

            httpReq.Credentials = new NetworkCredential("***""****");

           HttpWebResponse myResponse = (HttpWebResponse)myrequest.GetResponse();

           StreamReader reader = new StreamReader(myResponse.GetResponseStream(),Encoding.UTF8);

           string Return = reader.ReadToEnd();

            reader.Close();

           return Return;

        }

转载地址:https://blog.csdn.net/dashuaiwang1/article/details/73649667 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:配置服务器使外网访问Webservice
下一篇:SQL实现一个表格中多个字段合并为一个字段

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年03月26日 03时12分22秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

idea测试连接mysql报错08001_IDEA连接MySQL错误 2019-04-21
layui导入模板数据_layui表格-template模板的三种用法 2019-04-21
mysql分组显示行号_mysql 显示行号,以及分组排序 2019-04-21
MySQL常见的主从复制架构_如何搭建经典的MySQL 主从复制架构 2019-04-21
编写python程序、计算账户余额_小明有20w存款存在余额宝中,按余额宝年收益为3.35%计算,用Python编写程序计算,多少年后小明的存款达到30w?... 2019-04-21
python 公众号引流_公众号引流方法有哪些? 2019-04-21
java 减少内存_java中减少内存占用小技巧 2019-04-21
centos 7 mysql图形界面_centos7-vnstat图形界面搭建 2019-04-21
java 防渗透_「java、工程师工作经验怎么写」-看准网 2019-04-21
java中跳出当前循环怎么做_在java中,如何跳出当前的多重循环? 2019-04-21
java程序中执行maven_java – 将一个enviornment变量传递给Maven中的已执行进程 2019-04-21
java16下载_java lombok下载 2019-04-21
python 图像处理与识别书籍_Python图像处理之识别图像中的文字(实例讲解) 2019-04-21
java安全初始化_java安全编码指南之:声明和初始化 2019-04-21
java jstat gc_分析JVM GC及内存情况的方法 2019-04-21
php pclzip.lib.php,php使用pclzip类实现文件压缩的方法(附pclzip类下载地址) 2019-04-21
php dns更新,php_mzdns: 站群,大量域名 通过 dns 服务商 api 批量添加 ip 工具。你懂的~ 基于 mzphp2 框架。... 2019-04-21
jdk 1.8 java.policy,JDK1.8 导致系统报错:java.security.InvalidKeyException:illegal Key Size 2019-04-21
php linux权限,Linux权限详细介绍 2019-04-21
典型环节的matlab仿真分析,典型环节的MATLAB仿真.doc 2019-04-21