本文用于写代码是给提示

 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. BZOJ3133[ballmachine]——倍增+优先队列

    题目描述 有一个装球机器,构造可以看作是一棵树.有下面两种操作: 从根放入一个球,只要下方有空位,球会沿着树滚下.如果同时有多个点可以走,那么会选择编号最小的节点所在路径的方向.比如依次在树根4放2个 ...

  2. Angular、React.js 和Node.js到底选谁?

    为了工作,程序员选择正确的框架和库来构建应用程序是至关重要的,这也就是为什么Angular和React之间有着太多的争议.Node.js的出现,让这场战争变得更加复杂,虽然有选择权通常是一件很棒的事情 ...

  3. 【Linux命令】用户及分用户组

    查看用户 查看所有用户命令: cat /etc/passwd 上面命令输出内容比较杂乱,可以使用如下命令简化输出: #对于 cat /etc/passwd 的替换 cat /etc/passwd|gr ...

  4. photoshop学习3

    一.仿制图章工具 快捷键:S. 操作:先按住ALT键,再点击图片的一个地方,然后松开ALT和鼠标(这叫取样).之后到画布的另一个地方用鼠标绘画. 特点:绘画出和取样点一样的图像.这个工具原样复制了取样 ...

  5. HR_Array Manipulation

    第一版有7个时间超限,优化成了第二版: 1: #!/bin/python3 import math import os import random import re import sys # Com ...

  6. bzoj4540 序列 (单调栈+莫队+rmq)

    首先,如果我知道[l,r],要转移到[l,r+1]的时候,就是加上以r+1为右端点,[l,r+1]为左端点的区间的最小值,其他情况和这个类似 考虑这玩意怎么求 右端点固定的话,我左端点越往左走,这个最 ...

  7. NOIp2018 游记

    作为一名蒟蒻,对于NOIp当然是不抱什么希望.所以就只能在比赛中吸取经验咯... Day0 害怕书到用时方恨少,疯狂打板子(玩电脑) Day1 来到考场了,发现键盘空格按不起,觉得非常尴尬,然后他告诉 ...

  8. AHOI中国象棋(dp)

    大力dp题. 每行每列最多放两个,考虑用行作为dp阶段. dp[i][j][k]表示i行,有一个的有j列,有两个的有k列. 然后就是分类讨论. 一个都不放,放一个在0出,放一个在1出,放两个在0,放两 ...

  9. mysql5.6做单向主从复制Replication

    原理场景:MySQL从3.23版本开始提供复制功能.指的是将主数据库的DDL和DML操作通过二进制日志传到从服务器(也叫从库),然后在从库上对这些日志重新执行, 从而使得从库和主库的数据保持同步. 优 ...

  10. POJ--3259 Wormholes (SPFA判负环)

    题目电波   3259 Wormholes #include<iostream> #include<cstring> #include<algorithm> #in ...