WebRequest 请求
HttpWebRequest利用HTTP 协议和服务器交互,通常是通过 GET 和 POST 两种方式来对数据进行获取和提交
代码如下:
public string PostDataGetHtml(string uri, string postData)
{
try
{
byte[] data = Encoding.UTF8.GetBytes(postData);//请求参数编码
Uri uRI = new Uri(uri);//请求路径
HttpWebRequest req = WebRequest.Create(uRI) as HttpWebRequest;
req.Method = "POST";//请求方式 可支持GET、POST
req.KeepAlive = true;//是否持久连接 下面有介绍
req.ContentType = "application/x-www-form-urlencoded"; //传输内容类型
req.ContentLength = data.Length;
req.AllowAutoRedirect = true; //指示请求是否应跟随重定向响应
Stream outStream = req.GetRequestStream();//写入流
outStream.Write(data, 0, data.Length);
outStream.Close();
HttpWebResponse res = req.GetResponse() as HttpWebResponse;
Stream inStream = res.GetResponseStream();
StreamReader sr = new StreamReader(inStream, Encoding.UTF8);//读取编码
string htmlResult = sr.ReadToEnd();
return htmlResult;
}
catch (Exception ex)
{
return "网络错误:" + ex.Message.ToString();
}
}
keepalive 的原理,TCP会在空闲了一定时间后发送数据给对方:
1.如果主机可达,对方就会响应ACK应答,就认为是存活的。
2.如果可达,但应用程序退出,对方就发FIN应答,发送TCP撤消连接。
3.如果可达,但应用程序崩溃,对方就发RST消息。
4.如果对方主机不响应ack, rst,继续发送直到超时,就撤消连接。这个时间就是默认
的二个小时。
WebRequest 请求相关推荐
- .Net Core下发送WebRequest请求的两种方式
1.使用RestSharp.NetCore 2.使用WebApi请求方式 转载于:https://www.cnblogs.com/mailaidedt/p/6525501.html
- WebRequest 请求被中止: 请求已被取消。 错误解决方法
使用HttpWebResponse的时候老是报错:"请求被中止: 请求已被取消." 原因是添加了 contentLength 注释掉就好了, //request.ContentLe ...
- 挣脱浏览器的束缚(7) - CrossSubDomainExecutor
在上次的文章中,我们已经提到了一种能够跨子域名进行AJAX请求的方法.我们现在就来实现一个对开发人员透明的实现,它会自动判断这个请求是否是跨子域名,如果不是,则使用传统的方法发出AJAX请求,反之则使 ...
- Reactive Extensions入门(5):ReactiveUI MVVM框架
从前面几篇文章可以了解到,Rx作为LINQ的一种扩展,极大地简化了异步编程.但Rx的用法不仅如此,由于其可高的扩展性,在其他很多方面也有所应用. 在前面例子中,我们使用代码和UI界面上的元素打交道,这 ...
- 【完全开源】微信客户端.NET版
目录 说明 功能 原理步骤 一些参考 说明 前两天比较闲,研究了一下web版微信.因为之前看过一篇博客讲微信web协议的,后来尝试分析了一下,半途中发现其实没什么意义,但又不想半途而废,所以最后做出了 ...
- C#程序设计下,网易云课堂,计算机专业
C#程序设计下: 第一讲 绘图及其图像, 1.1 绘图基础 GDI+ GDI:Graphics Device Interface 是.NET框架结构的重要组成部分.和GDI一样提供对二维图像的支 ...
- c#中https通讯如何添加证书
c#如何在https在通讯中需要添加证书密码 public static class HTTPS{// byte[] certificate = Properties.Resources.client ...
- 2021-09-29 Unity WebGL平台开发遇到的坑
内容简介:最近在用Unity做一个 WebGL 平台的项目,开发过程中遇到了各种各样的坑,这里简单记录一下,以免以后再踩.首先是Http请求的问题,我最开始想的是,直接用C#里的写法,编辑器里测试毫无 ...
- 微信支付宝SDK接入服务器开发篇
文章目录 023 服务器的工程结构 024 封装支付事件 EventCenter.cs 025 网络模块的封装 Net/Agent.cs Net/NetComponent.cs 026 完成辅助类 T ...
最新文章
- typedef用法小结
- 中国汽车电器运营现状与十四五发展规划报告2022-2028年版
- Gradle Android客户端程序打包(基于gradle 2.10版本验证通过)
- centos8安装mongodb5
- Nutch开发(四)
- 十分钟-Nginx入门到上线
- 1124Js基础语法
- 基于R语言、MATLAB、Python机器学习方法与案例分析
- intellijIDEA Spring配置文件提示: File is included in 4 contexts
- Teamviewer QuickSupport - 在电脑上远程连接控制手机/平板的软件神器 (Android/iOS)
- oracle_java.exe,系统找不到C:\ProgramData\Oracle\Java\javapath\java.exe问题及解决方案
- 十二星座匹配对象_水瓶座最佳配对对象是谁
- 《爱情公寓》电影,让我十年的情怀,一瞬间都喂了狗
- 怎么装python的keras库_Keras教程:用Python进行深度学习的终极入门指南
- html如何设置下拉列表
- 理解Kotlin密封类Sealed
- iOS动画——弹窗动画(pop动画)
- 乐高大颗粒作品17:托马斯小火车
- 【开发随记】国密SM2的简单运用和踩坑
- linux pycharm无法输入中文,linux下idea、pycharm等输入中文拼音时满3个字母后无法继续拼音输入的问题...