C# 主动发起请求代码
本文用于写代码是给提示
private string GetHW(string uri)
{
string returnStr = "";
HttpWebRequest hwRequest = (HttpWebRequest)System.Net.WebRequest.Create(uri);
hwRequest.Method = "GET";
HttpWebResponse hwRespone = (HttpWebResponse)hwRequest.GetResponse();
if (hwRespone != null && hwRespone.StatusCode == HttpStatusCode.OK)
{
//流的处理有必要还有进行解压缩之类的
using (StreamReader sr = new StreamReader(hwRespone.GetResponseStream(), Encoding.UTF8))
{
returnStr = sr.ReadToEnd();
}
}
return returnStr;
} private string PostHW(string uri, string postString)
{
string returnStr = "";
HttpWebRequest hwRequest = (HttpWebRequest)System.Net.WebRequest.Create(uri);
hwRequest.Method = "Post";
hwRequest.ContentType = "application/x-www-form-urlencoded"; //设置ContntType ,这句很重要,否则无法传递参数 byte[] postData = Encoding.UTF8.GetBytes(postString);//postData即为发送的数据
hwRequest.ContentLength = postData.Length;//设置客户端发送的内容长度 Stream requestStream = hwRequest.GetRequestStream();//获取请求流
requestStream.Write(postData, , postData.Length);//把参数写入流
requestStream.Close();//关闭请求流 HttpWebResponse hwRespone = (HttpWebResponse)hwRequest.GetResponse();
Stream responseStream = hwRespone.GetResponseStream();//得到回应流 if (hwRespone != null && hwRespone.StatusCode == HttpStatusCode.OK)
{
using (StreamReader sr = new StreamReader(hwRespone.GetResponseStream(), Encoding.UTF8))
{
returnStr = sr.ReadToEnd();
}
}
responseStream.Close();//关闭回应流
return returnStr;
} private string GetWebClient(string uri)
{
string returnStr = "";
WebClient wCient = new System.Net.WebClient();
wCient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
using (StreamReader sr = new StreamReader(wCient.OpenRead(uri), Encoding.UTF8))
{
returnStr = sr.ReadToEnd();
}
return returnStr;
}
public string GetWebClient2(string uri)
{
uri = @"";
string returnStr = "";
WebClient wCient = new System.Net.WebClient();
wCient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] responseData = wCient.DownloadData(uri);
//using (StreamReader sr = new StreamReader(wCient.OpenRead(uri), Encoding.UTF8))
//{
// returnStr = sr.ReadToEnd();
//}
returnStr = Encoding.UTF8.GetString(responseData);//返回接受的数据
return returnStr;
} private string PostWebClient(string uri, string postString)
{
string returnStr = "";
//string postString = "userName=123&city=101";//设置参数,POST参数的格式是 参数1=值1&参数2=值2&参数3=值3 //PostString = "blog_title=博客标题&";PostString += "blog_body=博客内容&";PostString += "blog_class=1";//将参数字符串转换成字节数组。 WebClient wCient = new System.Net.WebClient();
wCient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
byte[] postData = Encoding.ASCII.GetBytes(postString);
byte[] responseData = wCient.UploadData(uri, "POST", postData);//得到返回字符流
returnStr = Encoding.UTF8.GetString(responseData);//返回接受的数据
return returnStr;
}
C# 主动发起请求代码的更多相关文章
- python 全栈开发,Day130(多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播)
先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.3.zip 注意:由于涉及到 ...
- 原始ajax发起请求并反馈
在用户登陆的时候,离开用户.密码输入框即进行验证:ajax发起请求进行验证的: login.jsp代码: <%@ page language="java" contentTy ...
- goquery 添加header 发起请求
goquery 添加header 发起请求 我们知道使用net/http 很容易发起GET or POST 请求:并且在发起http请求时候,可以很容易的对header进行干预 例如: client ...
- Elasticsearch High Level Rest Client 发起请求的过程分析
本文讨论的是JAVA High Level Rest Client向ElasticSearch6.3.2发送请求(index操作.update.delete--)的一个详细过程的理解,主要涉及到Res ...
- HttpClient登陆后获取并携带cookies发起请求
最近项目中,用到了登陆后获取并携带cookies发起请求的业务场景,现总结写出来备忘一下. 1.定义存取cookies信息的全局变量 public class HttpUtil { /** * 用来存 ...
- Photon Server 实现注册与登录(三) --- 前端UI设计和发起请求
一.打开之前的测试项目.先将服务端代码编译一下,在 bin/Debug/目录下会发现有一个Common.dill.我们相应导入到前端使用.直接拖拽到相应地方 UI相应布局属于前端操作,这里就不做介绍了 ...
- Vue2使用Axios发起请求教程详细
当你看到该文章时希望你已知晓什么是跨域请求以及跨域请求的处理,本文不会赘述 本文后台基于Springboot2.3进行搭建,Controller中不会写任何业务逻辑仅用于配合前端调试 Controll ...
- 小程序之发起请求 wx.request(object)的坑
这是官方的API,然后官方的实例中 wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, header: { ...
- HTTP请求代码整理
HTTP请求代码整理 类别 代码 注释 1xx – 信息提示 100 继续 101 切换协议 2xx - 成功 200 确定.客户端请求已成功 201 已创建 202 已接受 203 非权威性信息 2 ...
随机推荐
- python成长之路二
python的print格式化输出,以及使用format来控制. 1,打印字符串(str),利用%s. >>> print ('My name is %s' % ('TaoXiao' ...
- ☆ [NOIp2016] 天天爱跑步 「树上差分」
题目类型:LCA+思维 传送门:>Here< 题意:给出一棵树,有\(M\)个人在这棵树上跑步.每个人都从自己的起点\(s[i]\)跑到终点\(t[i]\),跑过一条边的时间为1秒.现在每 ...
- 「九省联考 2018」IIIDX 解题报告
「九省联考 2018」IIIDX 这什么鬼题,送的55分要拿稳,实测有60? 考虑把数值从大到小摆好,每个位置\(i\)维护一个\(f_i\),表示\(i\)左边比它大的(包括自己)还有几个数可以选 ...
- hasattr
语法: hasattr(object,name) 检测类对象是否具有该name属性或方法
- 牛客练习赛31 D神器大师泰兹瑞与威穆
双链表搞完了 #include<bits/stdc++.h> using namespace std; #define maxn 1000005 int tot,bac[maxn],fa[ ...
- java开发JDBC连接数据库代码
JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 这通过java.lang.Class类的静态方法forName(String className)实 ...
- margin纵向重叠
速记: 如p的纵向 margin 是 16px,那么两个之间纵向的距离是多少?-- 按常理来说应该是 16 + 16 = 32px,但是答案仍然是 16px. 因为纵向的 margin 是会重叠的,如 ...
- YSLOW(一款实用的网站性能检测工具)
概述 YSlow是Yahoo发布的一款基于FireFox的插件,这个插件可以分析网站的页面,并告诉你为了提高网站性能,如何基于某些规则而进行优化. 安装 官网:http://yslow.org/ ...
- JDBC的简单笔记
JDBC笔记: JDBC:java database connectivity SUN公司提供的一套操作数据库的标准规范. JDBC与数据库驱动的关系:接口与实现的关系. JDBC规范(掌握四个核心对 ...
- Codeforces Round #529 (Div. 3) D. Circular Dance
传送门 题意: 有 n 个孩子编号为 1~n ,绕着圣诞树 dance: 编号为 i 的孩子可以记住ai1,ai2两个小孩,ai1,ai2是 i 在顺时针方向的相邻的两个小孩,但ai1,ai2不一定是 ...