本文用于写代码是给提示

 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. python调用opencv库教程

    OpenCV安装pip install --upgrade setuptoolspip install numpy Matplotlibpip install opencv-python OpenCV ...

  2. 洛谷P2278操作系统

    题目 这个题是一个名副其实的考验细节和头脑清醒的一个题. 根据提议我们可以进行分类讨论. 我们用优先队列来模拟CPU,我们可以用在线的算法来写,每次输入一个进程都要判断这个进程是否可以挤掉优先队列里的 ...

  3. robotframework编写用例

    ** Test Cases *** Test With Settings [Documentation] Another dummy test # 用于指定测试用例文档 [Tags] dummy ow ...

  4. altera rom ram IP的浅层理解

    1.altera 提供了两种rom :单口rom和双口rom. 官方文档偷图: 单口rom:输出可以配置寄存器寄存再输出,时钟可以输入输出用不同的时钟. 双口rom:输入输出时钟可不同或者A与B的时钟 ...

  5. 【BZOJ1565】【NOI2009】植物大战僵尸 网络流 最大权闭合子图

    题目大意 ​ 给你一个\(n\times m\)的地图,每个格子上都有一颗植物,有的植物能保护其他植物.僵尸从右往左进攻,每吃掉一颗植物就可以得到\(a_{i,j}\)的收益(\(a_{i,j}\)可 ...

  6. Django media 配置

    Django  media 配置 settings.py 配置  配置 media 的路径, 以及连接到主路径 还要添加一个 上下文管理 TEMPLATES = [ { 'BACKEND': 'dja ...

  7. Finding Lines UVALive - 6955(随机)

    给出n个点,问你有没有可能存在一条直线,这n个点中存在百分号p以上点在这条直线上. 两个点确定一条直线,所以可以随机枚举两个点,然后用这条直线去判断其他的点是不是在这条直线上,如果在这个直线上的点超过 ...

  8. Rocket.Chat 开源IM系统部署

    Rocket.Chat 官方给出的文档也个人觉得太麻烦了,并且对ubuntu的支持程度远高于CentOS,自己就折腾写了个安装的笔记,如果是在公司内部或者是部门内部还是很有用处的,比较看中的功能有和g ...

  9. OpenLayers学习笔记(一)—在线加载谷歌影像地图&离线加载本地瓦片地图

    实现根据在线离线判断加载地图, 在线加载谷歌影响地图, 离线加载本地瓦片地图 作者: 狐狸家的鱼 Github: 八至 html代码 <div id="map" tabind ...

  10. 组件之间的数据传递--Vuex

    安装Vuex: npm install Vuex -S 在main.js中引入 import Vue from 'vue' import App from './App' import Vuex fr ...