本文用于写代码是给提示

 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# 主动发起请求代码的更多相关文章

  1. python 全栈开发,Day130(多玩具端的遥控功能, 简单的双向聊天,聊天记录存放数据库,消息提醒,玩具主动发起消息,玩具主动发起点播)

    先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.3.zip 注意:由于涉及到 ...

  2. 原始ajax发起请求并反馈

    在用户登陆的时候,离开用户.密码输入框即进行验证:ajax发起请求进行验证的: login.jsp代码: <%@ page language="java" contentTy ...

  3. goquery 添加header 发起请求

    goquery 添加header 发起请求 我们知道使用net/http 很容易发起GET or POST 请求:并且在发起http请求时候,可以很容易的对header进行干预 例如: client ...

  4. Elasticsearch High Level Rest Client 发起请求的过程分析

    本文讨论的是JAVA High Level Rest Client向ElasticSearch6.3.2发送请求(index操作.update.delete--)的一个详细过程的理解,主要涉及到Res ...

  5. HttpClient登陆后获取并携带cookies发起请求

    最近项目中,用到了登陆后获取并携带cookies发起请求的业务场景,现总结写出来备忘一下. 1.定义存取cookies信息的全局变量 public class HttpUtil { /** * 用来存 ...

  6. Photon Server 实现注册与登录(三) --- 前端UI设计和发起请求

    一.打开之前的测试项目.先将服务端代码编译一下,在 bin/Debug/目录下会发现有一个Common.dill.我们相应导入到前端使用.直接拖拽到相应地方 UI相应布局属于前端操作,这里就不做介绍了 ...

  7. Vue2使用Axios发起请求教程详细

    当你看到该文章时希望你已知晓什么是跨域请求以及跨域请求的处理,本文不会赘述 本文后台基于Springboot2.3进行搭建,Controller中不会写任何业务逻辑仅用于配合前端调试 Controll ...

  8. 小程序之发起请求 wx.request(object)的坑

    这是官方的API,然后官方的实例中 wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, header: { ...

  9. HTTP请求代码整理

    HTTP请求代码整理 类别 代码 注释 1xx – 信息提示 100 继续 101 切换协议 2xx - 成功 200 确定.客户端请求已成功 201 已创建 202 已接受 203 非权威性信息 2 ...

随机推荐

  1. vscode——配置git的path

    设置 打开设置 搜索配置 复制Json文本 编辑配置 粘贴刚才复制的json文本,并将自己git的地址写好,保存即可 完整配置 { "workbench.colorTheme": ...

  2. NTT算法小结

    从理论上说,经过人们优化的FFT已经十分优秀,能够处理大部分的多项式乘法,但是有的时候仍然会出现下面的情况: 1)常数仍然比较大 2)在进行与整数有关的FFT时,发现得到的结果是一堆诡异的数,你需要不 ...

  3. 【宝塔linux】 导入mysql 大文件失败的问题

    导入数据库有四种方法 1.宝塔网站自带的数据库导入 2.phpmyadmin导入 3.远程到linux服务器用导入命令 使用xshell进入到控制台 1.首先建空数据库 mysql>create ...

  4. 自学Python4.5-装饰器举例

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  5. 「洛谷2495」「BZOJ3052」「SDOI2001」消耗战【虚树+树形动态规划】

    题目大意 给你\(k\)个点,让这一些点和一号节点断开,删去某一些边,求最小的删去边权之和. 做题的心路历程 做了\(HG\)昨天的模拟赛,深深感觉到了窝的菜,所以为了\(A\)掉T1这一道毒瘤,窝就 ...

  6. css border制作小三角形状及气泡框(兼容IE6)

    先看下CSS盒模型 一个盒子包括: margin+border+padding+content 上下左右边框交界处出呈现平滑的斜线. 利用这个特点, 通过设置不同的上下左右边框宽度或者颜色可以得到小三 ...

  7. 洛谷P4243/bzoj1558 [JSOI2009]等差数列(线段树维护差分+爆炸恶心的合并)

    题面 首先感谢这篇题解,是思路来源 看到等差数列,就会想到差分,又有区间加,很容易想到线段树维护差分.再注意点细节,\(A\)操作完美解决 然后就是爆炸恶心的\(B\)操作,之前看一堆题解的解释都不怎 ...

  8. 学习笔记:fhq-treap

    0. 前置知识:\(treap\)的定义 树堆,在数据结构中也称Treap,是指有一个随机附加域满足堆的性质的二叉搜索树,其结构相当于以随机数据插入的二叉搜索树. ​ >--摘自百度百科 形象化 ...

  9. 基于Jenkins,docker实现自动化部署(持续交互)

      前言 随着业务的增长,需求也开始增多,每个需求的大小,开发周期,发布时间都不一致.基于微服务的系统架构,功能的叠加,对应的服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化.因此 ...

  10. 可以精准解析国内外网站的DNS

    Pure DNS https://puredns.cn/ XsicoDNS https://dns.xsico.cn/ Fun DNS http://www.fundns.cn/ Bai DNS ht ...