HttpWebRequest简单使用
HttpWebRequest简单使用
HttpWebRequest类对WebRequest中定义的属性和方法提供支持,也对使用户能够直接与使用HTTP的服务器交互的附加属性和方法提供支持。
创建HttpWebRequest实例时,使用WebRequest.Create方法。如果统一资源标示符的方案是http://或https://,则Create返回HttpWebRequest对象。
GetResponse方法向RequestUri属性中指定的资源发送同步请求,并返回包含该响应的HttpWebResponse。可以使用BeginGetResponse和EndGetResponse方法对资源发出异步请求.
当想要资源发送数据时,GetRequestStream方法返回用于发送数据的Stream对象。BeginGetRequestStream和EndGetRequestStream方法提供发送数据流的异步访问。
public static void main()
{
//建立请求
HttpWebRequest request=(HttpWebRequest)WebRequest.Create("");
//发送请求获取Http响应
HttpWebRequest response=(HttpWebRequest)request.GetResponse();
//获取响应流
Stream receiveStream =response.GetResponseStream();
StreamReader reader =new StreamReader(receiveStr)
reader.ReadToEnd();
}
发送Post请求
public static void main()
{
//建立请求
HttpWebRequest request =(HttpWebRequest)WebRequest.Create("");
request.Method="post";
httpRequest.Headers.Add("Token", "……");
string inputData=Console.ReadLine();
string postData=inputData;
ASCIIEncoding encoding = new ASCIIeNCoding();
byte[] byte1= encoding.GetBytes(postData);
request.ContentType="application/x-www-form-urlencoded";
Stream newstream= request.GetRequestStream();
newStream.Write(byte1,,byte1.Length);
HttpWebResponse HttpWResp = (HttpWebResponse)httpRequest.GetResponse();
Stream responseStream = HttpWResp.GetResponseStream();
StreamReader sr = new StreamReader(responseStream, Encoding.UTF8);
string result = sr.ReadToEnd();
}
public static string GetShortUrl(string url)
{
string paramstr = "{\"url\":\"" + url + "\"}";
string api = "https://dwz.cn/admin/v2/create";
Stream responseStream = null;
StreamReader sr = null;
Stream requestStream = null;
string result = null;
byte[] data = Encoding.UTF8.GetBytes(paramstr);
try
{
HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(api);
httpRequest.ContentType = "application/json";
httpRequest.Method = "POST";
httpRequest.Headers.Add("Token", "");
//发送数据
httpRequest.ContentLength = data.Length;
requestStream = httpRequest.GetRequestStream();
requestStream.Write(data, , data.Length);
requestStream.Flush();
//获取响应内容
HttpWebResponse HttpWResp = (HttpWebResponse)httpRequest.GetResponse();
responseStream = HttpWResp.GetResponseStream();
sr = new StreamReader(responseStream, Encoding.UTF8);
result = sr.ReadToEnd();
}
catch (Exception e)
{ }
finally
{
if (sr != null)
sr.Close();
if (responseStream != null)
responseStream.Close();
if (requestStream != null)
requestStream.Close();
}
if (!string.IsNullOrEmpty(result))
{
LitJson.JsonData json = LitJson.JsonMapper.ToObject(result);
return json["ShortUrl"].ToString();
}
return url;
}
HttpWebRequest简单使用的更多相关文章
- .net 爬虫框架技术选型
个人认为爬虫框架分抓取框架和分析框架 1)抓取框架 .net 市面上好的似乎不多,选择要素分两种:1.轻量型,2.重量型. 1. 轻量型是可以定制一些特殊的功能或者插件开关形式.总体性能高,速度快. ...
- WPF桌面程序在请求接口时如何防止被常用的抓包软件Fiddler抓包
问题:在我开发了一个WPF桌面应用程序的时候,由于涉及到登录等等操作通过Fiddler可以很直观的看到账号密码.首先问题有两点:1.数据提交的时候对于密码等重要的数据没有进行加密操作.2.没有防止抓包 ...
- HttpWebRequest post 提交 C#的WebBrowser操作frame如此简单 WebClient 提交
//http://www.cnblogs.com/cgli/archive/2011/04/09/2010497.html System.Net.ServicePointManager.Expect1 ...
- HttpWebRequest的简单使用
新建新的空网站和一个default.aspx页面测试,实验例子: using System; using System.Collections.Generic; using System.IO; us ...
- C#使用HttpWebRequest发送数据和使用HttpWebResponse接收数据的一个简单示例
新建一个.NET Core控制台项目,代码如下所示: using System; using System.Text; using System.Net; using System.Collectio ...
- .NET Web开发技术简单整理
在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...
- 在使用 HttpWebRequest Post数据时候返回 400错误
笔者有一个项目中用到了上传zip并解压的功能.开始觉得很简单,因为之前曾经做过之类的上传文件的功能,所以并不为意,于是使用copy大法.正如你所料,如果一切很正常的能运行的话就不会有这篇笔记了. 整个 ...
- C#开发微信公众平台-就这么简单(附Demo)
写在前面 阅读目录: 服务号和订阅号 URL配置 创建菜单 查询.删除菜单 接受消息 发送消息(图文.菜单事件响应) 示例Demo下载 后记 最近公司在做微信开发,其实就是接口开发,网上找了很多资料, ...
- Xamarin.Android之封装个简单的网络请求类
一.前言 回忆到上篇 <Xamarin.Android再体验之简单的登录Demo> 做登录时,用的是GET的请求,还用的是同步, 于是现在将其简单的改写,做了个简单的封装,包含基于Http ...
随机推荐
- 使用Sublime Text 3进行Markdown编辑+实时预览
使用Sublime Text 3进行Markdown编辑+实时预览 安装软件包管理器 打开Sublime Text 3 同时按下 ctrl+` ,窗口底部出现一个小控制台 复制以下代码,粘贴到控制台的 ...
- 「线性基」学习笔记and乱口胡总结
还以为是什么非常高大上的东西花了1h不到就学好了 线性基 线性基可以在\(O(nlogx)\)的时间内计算出\(n\)个数的最大异或和(不需要相邻). 上述中\(x\)表示的最大的数. 如何实现 定义 ...
- 纯js Ajax 请求
var XMLHttpReq; function createXMLHttpRequest() { if(window.ActiveXObject ) { try { XMLHttpReq = new ...
- SpringBoot系列: Maven多项目管理
这篇是 maven 项目管理的第二篇, 讲解使用 maven 进行多个项目管理, 之前有一篇是 maven 的基础知识. SpringBoot系列: Eclipse+Maven环境准备 一个完整的解决 ...
- 淘宝网站上的 HTTP 缓存问题两则
在阅读本文前推荐你先阅读我的前两篇文章< 扼杀 304,Cache-Control: immutable>和<关于缓存和 Chrome 的“新版刷新”>:下面要说的两个问题是在 ...
- Git——如何将本地项目提交至远程仓库(第一次)
1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库. git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数 ...
- 分布式系列七: zookeeper简单用法
zookeeper是分布式开源框架, 是Google Chubby的一个实现, 主要作为分布式系统的协调服务. Dobbo等框架使用了其功能. zookeeper特性 顺序一致性: 事务请求最终会严格 ...
- Ch02 课堂作业
测试一:运行结果: 测试二:运行结果: 测试三:运行结果:
- 34. Find First and Last Position of Element in Sorted Array
1. 原始题目 给定一个按照升序排列的整数数组 nums,和一个目标值 target.找出给定目标值在数组中的开始位置和结束位置. 你的算法时间复杂度必须是 O(log n) 级别. 如果数组中不存在 ...
- Lua中的函数
[前言] Lua中的函数和C++中的函数的含义是一致的,Lua中的函数格式如下: function MyFunc(param) -- Do something end 在调用函数时,也需要将对应的参数 ...