我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C# winform请求http怎么实现

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C# winform请求http怎么实现

本篇内容主要讲解“C# winform请求http怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C# winform请求http怎么实现”吧!

    一:.Net中有两个类 HttpWebRequest 和HttpWebResponse 类来实现Http的请求

    实现步骤:

    通过WebRequest类创建一个HttpWebRequest的对象,该对象可以包含Http请求信息。
    2.设置HttpWebRequest对象,其实就是设置Http请求报文的信息内容。
    3.从HttpWebRequest对象中获取HttpWebResponse对象,该对象包含Http响应信息。
    4.从响应信息中获取响应头信息和响应主体信息。

    二: HTTP定义了与服务器交互的不同方法

    基本方法有GET,POST,PUT,DELETE,分别对于查,该,增,删。一般情况下我们只用到GET和POST,

    POST与GET的差异

    GET是从服务器上获取数据,POST是向服务器传送数据。
    2.GET是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。POST是通过HTTPPOST机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
    3.对于GET方式,服务器端用Request.QueryString获取变量的值,对于POST方式,服务器端用Request.Form获取提交的数据。
    4.GET传送的数据量较小,不能大于2KB(这主要是因为受URL长度限制)。POST传送的数据量较大,一般被默认为不受限制。但理论上,限制取决于服务器的处理能力。
    5.GET安全性较低,POST安全性较高。因为GET在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。POST的所有操作对用户来说都是不可见的。

    两个简单的Get请求和Post请求

    1.Get请求

    string strURL = "http://localhost/WinformSubmit.php?tel=11111&name=张三";System.Net.HttpWebRequest request;// 创建一个HTTP请求request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);//request.Method="get";System.Net.HttpWebResponse response;response = (System.Net.HttpWebResponse)request.GetResponse();System.IO.StreamReader myreader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8);string responseText = myreader.ReadToEnd();myreader.Close();MessageBox.Show(responseText);

    2.Post请求

    string strURL = "http://localhost/WinformSubmit.php";System.Net.HttpWebRequest request;request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);//Post请求方式request.Method = "POST";// 内容类型request.ContentType = "application/x-www-form-urlencoded";// 参数经过URL编码string paraUrlCoded = System.Web.HttpUtility.UrlEncode("keyword");paraUrlCoded += "=" + System.Web.HttpUtility.UrlEncode("多月");byte[] payload;//将URL编码后的字符串转化为字节payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);//设置请求的 ContentLength request.ContentLength = payload.Length;//获得请 求流System.IO.Stream writer = request.GetRequestStream();//将请求参数写入流writer.Write(payload, 0, payload.Length);// 关闭请求流writer.Close();System.Net.HttpWebResponse response;// 获得响应流response = (System.Net.HttpWebResponse)request.GetResponse();System.IO.StreamReader myreader = new System.IO.StreamReader(response.GetResponseStream(), Encoding.UTF8);string responseText = myreader.ReadToEnd();myreader.Close();MessageBox.Show(responseText);

    一个小测试

    请求百度首页( http://www.baidu.com )的内容,也就是要获得百度首页的html内容。

    创建HttpWebRequest请求,设置请求报文信息

     //请求string uri = http://www.baidu.com;HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest;request.Method = "GET";                            //请求方法request.ProtocolVersion = new Version(1, 1);   //Http/1.1版本//Add Other ...

    接收响应,输出响应头部信息以及主体信息

    HttpWebResponse response=request.GetResponse() as HttpWebResponse;   //Header   foreach (var item in response.Headers)     {     this.txt_Header.Text += item.ToString()+": " +        response.GetResponseHeader  (item.ToString())     + System.Environment.NewLine;  }     //如果主体信息不为空,则接收主体信息内容   if (response.ContentLength <= 0)      return;   //接收响应主体信息   using(Stream stream =response.GetResponseStream())   {     int totalLength=(int)response.ContentLength;     int numBytesRead=0;     byte[] bytes=new byte[totalLength+1024];    //通过一个循环读取流中的数据,读取完毕,跳出循环     while( numBytesRead < totalLength  )     {      int num=stream.Read(bytes,numBytesRead,1024);  //每次希望读取1024字节      if( num==0 )   //说明流中数据读取完毕        break;      numBytesRead+=num;     }   }   //将接收到的主体数据显示到界面   string content=Encoding.UTF8.GetString(bytes);   this.txt_Content.Text=content;

    到此,相信大家对“C# winform请求http怎么实现”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    C# winform请求http怎么实现

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    C# winform请求http怎么实现

    本篇内容主要讲解“C# winform请求http怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C# winform请求http怎么实现”吧!一:.Net中有两个类 HttpWebReq
    2023-07-02

    Python Http发送请求怎么实现

    本篇内容介绍了“Python Http发送请求怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!浅析requests在不借助其他第三方库
    2023-07-02

    Qt怎么实现HTTP的Get/Post请求

    本文小编为大家详细介绍“Qt怎么实现HTTP的Get/Post请求”,内容详细,步骤清晰,细节处理妥当,希望这篇“Qt怎么实现HTTP的Get/Post请求”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。借助Qt的
    2023-06-30

    Netty4之怎么实现HTTP请求、响应

    本文小编为大家详细介绍“Netty4之怎么实现HTTP请求、响应”,内容详细,步骤清晰,细节处理妥当,希望这篇“Netty4之怎么实现HTTP请求、响应”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.Netty
    2023-07-05

    Filter怎么利用http请求实现绕过

    Filter怎么利用http请求实现绕过?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。http请求绕过Filter的实例场景:两个web服务器,A当做服务端,B
    2023-05-31

    Java使用HttpUtils怎么实现发送HTTP请求

    本篇文章和大家了解一下Java使用HttpUtils怎么实现发送HTTP请求。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。目录第一部分:简单总结HTTP请求常用配置第二部分:使用JavaLib的HttpUtils第三部分
    2023-07-06

    怎么用VBS实现发送带Cookie的HTTP请求

    这篇文章主要介绍怎么用VBS实现发送带Cookie的HTTP请求,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!为了方便测试,先写一个回显Cookie的简单的PHP程序: 代码如下:
    2023-06-08

    使用Flutter怎么实现一个Http网络请求

    这期内容当中小编将会给大家带来有关使用Flutter怎么实现一个Http网络请求,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1. Http的请求方式简介Http网络请求方式就是描述了客户端想对指定的资源
    2023-06-14

    JAVA中的HTTP请求怎么利用HttpClient实现发送

    JAVA中的HTTP请求怎么利用HttpClient实现发送?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。HttpClient介绍HttpClient 不是一个
    2023-05-31

    实现HTTP请求的方法有哪些

    本篇文章为大家展示了实现HTTP请求的方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、HTTP的请求与响应HTTP协议(HyperText Transfer Protocol,超文本传输
    2023-05-31

    Android HTTP网络请求的异步实现

    前言 大家都知道网络操作的响应时间是不定的,所有的网络操作都应该放在一个异步操作中处理,而且为了模块解耦,我们希望网络操作由专门的类来处理。所有网络数据发送,数据接收都有某几个类来实现,外部其它模块只要调用和处理回调函数即可。外部模块和网络
    2022-06-06

    Netty4之如何实现HTTP请求、响应

    这篇文章主要介绍了Netty4之如何实现HTTP请求、响应问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-14

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录