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 ...
随机推荐
- Codeforces478D-Red-Green Towers-DP
不是特别难的一道dp题. 给r个红块,g个绿块,计算这些块能磊出的最高塔的方案数. 塔的每一层都比上一层多一块,每一层只能有一种颜色. dp[i][j]表示第i层,j个红块的方案数. 则dp[i][j ...
- 「NOI2003」逃学的小孩
传送门:>HERE< 题意:给出一棵树(带权),要从一个节点C先走到距离它近的一个节点B,再走到A,要求最坏情况下的总路程(即最长). 解题思路: 乍一看,A,B,C都没给出,这怎么求? ...
- base64URL处理
加密 String str="hello world"; String encode= Base64.getUrlEncoder().encodeToString(str.getb ...
- Verilog定义计算位宽的函数clogb2
在很多情况下要计算输入输出的位宽,比如你写一个8*8的ram,那么地址需要三位去表示,那么这个函数的方便就体现出来了,你需要使用函数定义就好了,如果对于多文件可以包含定义的文件: 如果你的DEPTH是 ...
- MobaXterm之取消自动关闭连接 Network error :Connection timed out
连一会就出现连接重来的问题 配置如下.
- MT【256】2016四川高考解答压轴题
(2016四川高考数学解答压轴题)设函数$f(x)=ax^2-a-\ln x,a\in R$. 1)讨论$f(x)$的单调性;2)确定$a$的所有可能值,使得$f(x)>\dfrac{1}{x} ...
- LOJ# 572. 「LibreOJ Round #11」Misaka Network 与求和(min25筛,杜教筛,莫比乌斯反演)
题意 求 \[ \sum_{i = 1}^{n} \sum_{i = 1}^{n} f(\gcd(i, j))^k \pmod {2^{32}} \] 其中 \(f(x)\) 为 \(x\) 的次大质 ...
- 09 Zabbix4.0系统clone、mass update使用
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 09 Zabbix4.0系统clone.mass update使用 1. clone使用: clo ...
- 【CF833E】Caramel Clouds(线段树)
[CF833E]Caramel Clouds(线段树) 题面 CF 洛谷 题解 首先把区间一段一段分出来,那么只有四种情况. 要么没有被任何一朵云被覆盖,那么直接就会产生这一段的贡献. 要么被一朵云覆 ...
- 537. Complex Number Multiplication
题目大意: 给出a, b两个用字符串表示的虚数,求a*b 题目思路: 偷了个懒,Python3的正则表达式匹配了一下,当然acm里肯定是不行的 class Solution: def complexN ...