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 ...
随机推荐
- GEO,IGSO,MEO,LEO
GEO(Geosynchronous Eearth Orbit):地球静止轨道卫星 IGSO(Inclined Geosynchronous Satellite Orbit):倾斜轨道同步卫星 地球同 ...
- linux driver开发
1 开发linux driver时的调试思路 基本上是打印调试,原因很简单,方便.或者使用工具挂住cpu.
- POJ3164 Command Network —— 最小树形图
题目链接:https://vjudge.net/problem/POJ-3164 Command Network Time Limit: 1000MS Memory Limit: 131072K ...
- Magic Grid ComboBox JQuery 版
在MagicCombo组件中嵌入Grid,以支持分页查找和跨页选取 1. 2. [代码][JavaScript]单选示例代码 <script type="text/jav ...
- C# ref和out总结
C# 中ref 与 out 总结 参数的传递一般分为两种:一种是“值传递”即:传递实参的拷贝,既然是拷贝那么在函数中对这个形参所作的任何动作都不会反映到原来的实参中.另外一种是“引用传递”即:传递 ...
- BZOJ_3479_[Usaco2014 Mar]Watering the Fields_Prim
BZOJ_3479_[Usaco2014 Mar]Watering the Fields_Prim Description Due to a lack of rain, Farmer John wan ...
- [USACO 2017DEC] Barn Painting
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=5141 [算法] 树形DP 时间复杂度 : O(N) [代码] #include< ...
- Python进程间通信Queue
1.Queue使用方法: Queue.qsize():返回当前队列包含的消息数量: Queue.empty():如果队列为空,返回True,反之False : Queue.full():如果队列满了, ...
- 洛谷P4136 谁能赢呢?——博弈
题目:https://www.luogu.org/problemnew/show/P4136 每个人有足够聪明,一定会把图走满: 所以n为偶数先手胜,n为奇数后手胜. 代码如下: #include&l ...
- 初探js闭包
1.变量的作用域:全局变量.局部变量 函数内部可以直接读取局部变量 js代码 var n=2; function fun(){ alert(n); } fun(); //2 函数外部不能读取函数内部 ...