HttpWebRequest简单使用

时间:2022-09-02 21:03:21

HttpWebRequest简单使用

 摘要

HttpWebRequest类对WebRequest中定义的属性和方法提供支持,也对使用户能够直接与使用HTTP的服务器交互的附加属性和方法提供支持。

创建HttpWebRequest实例时,使用WebRequest.Create方法。如果统一资源标示符的方案是http://或https://,则Create返回HttpWebRequest对象。

GetResponse方法向RequestUri属性中指定的资源发送同步请求,并返回包含该响应的HttpWebResponse。可以使用BeginGetResponse和EndGetResponse方法对资源发出异步请求.

当想要资源发送数据时,GetRequestStream方法返回用于发送数据的Stream对象。BeginGetRequestStream和EndGetRequestStream方法提供发送数据流的异步访问。

发送Get请求
 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简单使用的更多相关文章

  1. .net 爬虫框架技术选型

    个人认为爬虫框架分抓取框架和分析框架 1)抓取框架 .net 市面上好的似乎不多,选择要素分两种:1.轻量型,2.重量型. 1. 轻量型是可以定制一些特殊的功能或者插件开关形式.总体性能高,速度快. ...

  2. WPF桌面程序在请求接口时如何防止被常用的抓包软件Fiddler抓包

    问题:在我开发了一个WPF桌面应用程序的时候,由于涉及到登录等等操作通过Fiddler可以很直观的看到账号密码.首先问题有两点:1.数据提交的时候对于密码等重要的数据没有进行加密操作.2.没有防止抓包 ...

  3. HttpWebRequest post 提交 C#的WebBrowser操作frame如此简单 WebClient 提交

    //http://www.cnblogs.com/cgli/archive/2011/04/09/2010497.html System.Net.ServicePointManager.Expect1 ...

  4. HttpWebRequest的简单使用

    新建新的空网站和一个default.aspx页面测试,实验例子: using System; using System.Collections.Generic; using System.IO; us ...

  5. C#使用HttpWebRequest发送数据和使用HttpWebResponse接收数据的一个简单示例

    新建一个.NET Core控制台项目,代码如下所示: using System; using System.Text; using System.Net; using System.Collectio ...

  6. .NET Web开发技术简单整理

    在最初学习一些编程语言.一些编程技术的时候,做的更多的是如何使用该技术,如何更好的使用该技术解决问题,而没有去关注它的相关性.关注它的理论支持,这种学习技术的方式是短平快.其实工作中有时候也是这样,公 ...

  7. 在使用 HttpWebRequest Post数据时候返回 400错误

    笔者有一个项目中用到了上传zip并解压的功能.开始觉得很简单,因为之前曾经做过之类的上传文件的功能,所以并不为意,于是使用copy大法.正如你所料,如果一切很正常的能运行的话就不会有这篇笔记了. 整个 ...

  8. C#开发微信公众平台-就这么简单(附Demo)

    写在前面 阅读目录: 服务号和订阅号 URL配置 创建菜单 查询.删除菜单 接受消息 发送消息(图文.菜单事件响应) 示例Demo下载 后记 最近公司在做微信开发,其实就是接口开发,网上找了很多资料, ...

  9. Xamarin.Android之封装个简单的网络请求类

    一.前言 回忆到上篇 <Xamarin.Android再体验之简单的登录Demo> 做登录时,用的是GET的请求,还用的是同步, 于是现在将其简单的改写,做了个简单的封装,包含基于Http ...

随机推荐

  1. C&plus;&plus;操作MySQL大量数据插入效率低下的解决方法

    #include <iostream> #include <winsock2.h> #include <string> #include "mysql.h ...

  2. iOS开发ARC内存管理技术要点

    本文来源于我个人的ARC学习笔记,旨在通过简明扼要的方式总结出iOS开发中ARC(Automatic Reference Counting,自动引用计数)内存管理技术的要点,所以不会涉及全部细节.这篇 ...

  3. nutch1&period;4 在windows下面提示 java&period;io&period;IOException&colon; CreateProcess error&equals;2&comma; &straightepsilon;ͳ&&num;213&semi;Ҳ&&num;187&semi;&&num;181&semi;&&num;189&semi;ָ&&num;182&semi;

    eclipse运行nutch1.4在window下面提示异常解决 需要安装cynwin,被设置环境变量 1:安装cygwin 注:在选择要安装的软件包的时候我选择了在All这一行上后面的Default ...

  4. VB 编程

    error播放出错提示音 errorPromptVoice() 返回一个字符串,其中包含从某个字符串右端开始的指定数量的字符 Microsoft.VisualBasic.Right(strBt45Te ...

  5. 关闭浏览器后Session失效原因分析

    参考文章:http://www.tuicool.com/articles/VNbYjqm 首先需要理解一下几点: 1.Http是无状态的,即对于每一次请求都是一个全新的请求,服务器不保存上一次请求的信 ...

  6. 详解MySQL大表优化方案&lpar; 转&rpar;

    当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...

  7. loop&lowbar;login&period;sh

    [oracle@ora10g scripts]$ cat loop_login.sh #/bin/bash####################export ORACLE_BASE=/u01/app ...

  8. 使用 C&num; 编写简易 ASP&period;NET Web 服务器

    原文 http://www.cnblogs.com/lcomplete/p/use-csharp-write-aspnet-web-server.html 如果你想获得更好的阅读体验,可以前往我在 g ...

  9. 类 java&period;util&period;Scannar方法

    类 java.util.Scannar方法 ·Scannar (InputStream ln):用给定的输人流创建一个Scanner对象. ·String nextLlne():读取输入的下一行内容. ...

  10. python注释中文

    原因: 如果文件里有非ASCII字符,需要在第一行或第二行指定编码声明. 解决办法: 必须是在第一行或是第二行加入 1)加上# -*- coding:utf-8 -*-之后就能成功使用中文注释了 2) ...