HttpWebRequest 以及WebRequest的使用
1.WebRequest的发送数据以及接收数据
class Program
{
static void Main(string[] args)
{
//创建一个实例并发送请求
HttpWebRequest we = (HttpWebRequest)WebRequest.Create("http://hao.360.cn/?src=360c");
we.Method = "Get";
we.KeepAlive = true;
//设置返回数据超时的时间30s
we.Timeout = ;
//开始异步获得发过来的数据
we.BeginGetResponse(new AsyncCallback(Callback), we); Console.ReadKey();
} static void Callback(IAsyncResult result)
{
HttpWebRequest we = (HttpWebRequest)result.AsyncState;
//结束获得的数据
WebResponse web = we.EndGetResponse(result);
//读取返回来的数据
using (Stream stream = web.GetResponseStream())
{
StreamReader streamReader = new StreamReader(stream);
string ss = streamReader.ReadToEnd();
Console.Write(ss);
}
}
}
2.HttpWebRequest的使用
class Program
{
static void Main(string[] args)
{
//创建一个请求实例
WebRequest web = (HttpWebRequest)HttpWebRequest.Create("http://www.baidu.com");
web.Method = "Post";
//开始异步发送请求数据
web.BeginGetRequestStream(new AsyncCallback(AsyncCallback), web);
Console.ReadKey();
} //发送数据 可以考虑发送登录的密码以及账号信息等
static void AsyncCallback(IAsyncResult result)
{
HttpWebRequest web = (HttpWebRequest)result.AsyncState;
using (Stream stream = web.EndGetRequestStream(result))
{
byte[] postData = Encoding.UTF8.GetBytes("你好");
stream.Write(postData, , postData.Length);
}
//开始异步接收数据
web.BeginGetResponse(new AsyncCallback(CallbackResponse), web); } //接收服务器返回的数据
static void CallbackResponse(IAsyncResult result)
{
HttpWebRequest web = (HttpWebRequest)result.AsyncState;
//结束返回的请求数据
HttpWebResponse response = (HttpWebResponse)web.EndGetResponse(result);
//输出返回的数据
using (Stream stream = response.GetResponseStream())
{
StreamReader streamReader = new StreamReader(stream);
//Console.WriteLine(streamReader.ReadToEnd()); File.WriteAllText(@"C:/12e.txt", streamReader.ReadToEnd(),Encoding.UTF8);
}
} }
HttpWebRequest 以及WebRequest的使用的更多相关文章
- .net学习笔记----HttpRequest,WebRequest,HttpWebRequest区别
WebRequest是一个虚类/基类,HttpWebRequest是WebRequest的具体实现 HttpRequest类的对象用于服务器端,获取客户端传来的请求的信息,包括HTTP报文传送过来的所 ...
- C#,WebRequest类、HttpWebRequest类与HttpRequest类的区别
C#,WebRequest类和HttpWebRequest类的区别? httpWebRequest是webRequest的子类,httpWebRequest是基于http协议的 . HttpWebRe ...
- 在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求
通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需 要获取认证信息(如Cookie),所以返回的是HttpWeb ...
- Windows Phone 十五、HttpWebRequest
Windows 运行时中支持网络资源访问的对象:HttpWebRequest 对象 发送 GET/POST 请求,HttpHelper 封装,超时控制. HttpClient 对象 发送 GET/PO ...
- C# HttpWebRequest GET HTTP HTTPS 请求
下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需要获取认证信息(如Cookie),所以返回的是HttpWebResponse ...
- 通过HttpWebRequest请求与HttpWebResponse响应方式发布接口与访问接口
一.API接口的编码 1.首页的页面代码: protected void Page_Load(object sender, EventArgs e) { /* * 请求路径:http://xxxx/i ...
- 用HttpWebRequest提交带验证码的网站
using System; using System.Drawing; using System.IO; using System.Net; using System.Text; using Syst ...
- 使用HttpWebRequest发送自定义POST请求
平时用浏览器看网页的时候,点击一下submit按钮的时候其实就是给服务器发送了一个POST请求.但是如何在自己的C#程序里面实现类似的功能呢?本文给出了一个简单的范例,可以实现类似的和web serv ...
- 使用HttpWebrequest对网站进行模拟操作(附登陆百度demo)
// a[href=#viewSource]"); //查看源代码标签 viewSourceArr.attr("title", "查看源代码"); v ...
随机推荐
- Android 中间人攻击
0x00 Android中间人攻击的思路就是劫持局域网中被攻击机器和server间的对话.被攻击机器和server表面上工作正常,实际上已经被中间人劫持.能够从一张图来明确这个过程. 受攻击主机发送的 ...
- JSON使用总结
参考网站 官网: http://www.json.org/ 菜鸟教程:http://www.runoob.com/json/json-tutorial.html 什么是 JSON ? JSON 指的是 ...
- linux losetup
1 losetup命令的通用格式 losetup loopdev file loopdev可以看出时一个仿真设备,它本身是没有存储空间的,这个命令的作用就是将file作为它的存储空间. 一旦连接成功, ...
- 编译FreePascal源代码(摘录自邮件询问)
为了尝试编译FreePascal,我搜了官方文档,并给几位作者都发了邮件询问,目前结果如下: http://wiki.lazarus.freepascal.org/Getting_Lazarus#Co ...
- windows exe程序点击可以运行,但任务计划时程序不运行
问题描述:exe程序双击或者cmd执行都可以,但是配置了计划任务就一闪而过,并没有对应log产生. 可能会有和我同样的问题的小伙伴,这里记录一下. 解决方法:来在St ...
- Java正则表达式的用法
/** * 校验时间格式,正确则返回true * @param xxx * @return */ private static boolean checkDateFormat (String xxx) ...
- bzoj 5329 战略游戏
题目大意: 一个无向图 Q个询问 每次给一些点的集合 求有多少个点满足去掉这个点后使这些点的集合中有一个点对不连通 思路: 点双缩点 相当于每次求这些点中的所有路径上的圆点个数 可以将这些点按dfs序 ...
- BZOJ_3105_[cqoi2013]新Nim游戏_线性基+博弈论
BZOJ_3105_[cqoi2013]新Nim游戏_线性基+博弈论 Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作 ...
- WebLogic之eclipse安装WebLogic插件
转自:https://blog.csdn.net/magi1201/article/details/38323775
- Linux后门入侵检测工具,附bash漏洞解决方法
一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现 ...