在WinForm中发送HTTP请求的实现方法

   2016-06-20 0
核心提示:下面小编就为大家带来一篇在WinForm中发送HTTP请求的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

如何在WinForm中请求发送HTTP

手工发送HTTP请求主要是调用 System.Net的HttpWebResponse方法

手工发送HTTP的GET请求:

string strURL = "http://localhost/Play/CH1/Service1.asmx/doSearchkeyword=";
strURL +=this.textBox1.Text;
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.Stream s;
s = response.GetResponseStream();
XmlTextReader Reader = new XmlTextReader(s);
Reader.MoveToContent();
string strValue = Reader.ReadInnerXml();
strValue = strValue.Replace("<","<");
strValue = strValue.Replace(">",">");
MessageBox.Show(strValue); 
Reader.Close();

手工发送HTTP的POST请求

string strURL = "http://localhost/Play/CH1/Service1.asmx/doSearch";
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(this.textBox1.Text);
byte[] payload;
//将URL编码后的字符串转化为字节
payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
//设置请求的 ContentLength 
request.ContentLength = payload.Length;
//获得请 求流
Stream writer = request.GetRequestStream();
//将请求参数写入流
writer.Write(payload,0,payload.Length);
// 关闭请求流
writer.Close();
System.Net.HttpWebResponse response;
// 获得响应流
response = (System.Net.HttpWebResponse)request.GetResponse();
System.IO.Stream s;
s = response.GetResponseStream();
XmlTextReader Reader = new XmlTextReader(s);
Reader.MoveToContent();
string strValue = Reader.ReadInnerXml();
strValue = strValue.Replace("<","<");
strValue = strValue.Replace(">",">");
MessageBox.Show(strValue); 
Reader.Close();

以上这篇在WinForm中发送HTTP请求的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持乐学网(lexue001.com)。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • C#连接本地Access数据库及简单操作的winform小程序
    C#连接本地Access数据库及简单操作的winform小
    连接本地Access数据库及简单操作的winform小程序一、准备工作用Access创建一个数据库并创建一个表格。(对于非远程数据库,Access十分简单。表格可参考三、界面设计)。二、代码using System;using System.Collections.Generic;using System.ComponentModel;u
    02-09
  • 在Winform中播放视频等【DotNet,C#】
    在项目中遇到过这样的问题,就是如何在Winform中播放视频。当时考察了几种方式,第一种是直接使用Windows Media Player组件,这种最简单;第二种是利用DirectX直接在窗体或者控件上绘图,这种比较复杂。于是采用的是第一种方法。      先从VS的工具箱里
    02-09
  • NX二次开发-基于Winform界面对话框与NXOPEN C#交互的开发(对话框嵌套)
    NX二次开发-基于Winform界面对话框与NXOPEN C#
    一.用类库方式创建1.新建类库进来后编译代码,成功 添加NXOPEN的库到项目中   不同NX版本,可能dll所在位置不一样,NX11以上版本在NXBIN这里,NX11以下版本大概在UGII。 添加头文件using NXOpen;using NXOpen.Utilities;using NXOpen.UF; 2.添加winform
    02-09
  • c# WinForm开发 DataGridView控件的各种操作
    一、单元格内容的操作 *****// 取得当前单元格内容         Console.WriteLine(DataGridView1.CurrentCell.Value); // 取得当前单元格的列 Index       Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex); // 取得当前单元格的行 Index
    02-09
  • C#:winform项目在win7,xp32位和64位都能执行
    vs中项目配置管理器活动解决方式平台选择X86平台。
    02-09
  • C# Winform消息通知系统托盘气泡提示框ToolTip控件
    C# Winform消息通知系统托盘气泡提示框ToolTip
    目录气球状提示框的介绍和系统通知变化消息通知的提示ShowBalloonTip()方法及指定消息类型NotifyIcon属性设置消息BalloonTipIcon不同的消息类型ToolTipText属性ToolTip提示控件显式或主动的提示消息一个ToolTip同时为多个控件设置提示显式设置ToolTip气球状提
  • 详解C# WinForm如何实现自动更新程序
    详解C# WinForm如何实现自动更新程序
    目录前言开发环境开发工具实现代码实现效果前言在C/S这种模式中,自动更新程序就显得尤为重要,它不像B/S模式,直接发布到服务器上,浏览器点个刷新就可以了。由于涉及到客户端文件,所以必然需要把相应的文件下载下来。这个其实比较常见,我们常用的微信、QQ
  • C# WinForm实现自动更新程序之客户端的示例代码
    C# WinForm实现自动更新程序之客户端的示例代
    目录前言开发环境开发工具实现代码实现效果前言第二步理论上我们该写客户端了,但是,在此之前,需要先介绍下一些必要的方法以及操作。写代码还是要尽量的保证通用性,以便以后需要的时候可以拿来稍微改改甚至直接使用。所以在这里我们将自动更新的程序抽象出
  • 分享一个基于winForm后台单线程推送多线程并行处理业务的小程序框架
    分享一个基于winForm后台单线程推送多线程并行
      在前面的文章中我曾分享了一个小程序框架,后来在这个框架基础上我把它改成了基于多线程并行处理的方式。这个小框架主要用于的场景是这样的:有时我们需要处理大量数据如来自数据库表的数据,有时还不能重复处理,如果我们用同步的方式逐条处理的话那么效
    02-09
  • C# winform Panel 添加 滚动条 cba赛程
    Detailed discussion here. Try this instead for 'only' scrolling vertical.(auto scroll needs to be false before it will accept changes)mypanel.AutoScroll = false;mypanel.HorizontalScroll.Enabled = false;mypanel.HorizontalScroll.Visible = f
    02-08
点击排行