1.将get获取的数据,UrlDecode后返回

public static string SendGet(string url)
{
  HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
  httpWebRequest.Method = "GET";
  HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
  Stream stream = httpWebResponse.GetResponseStream();
  StreamReader streamReader = new StreamReader(stream, Encoding.UTF8);
  string strOut = streamReader.ReadToEnd();
  httpWebResponse.Close();
  strOut = HttpUtility.UrlDecode(strOut);
  return strOut;
}

2.post请求,StreamReader方法获取ResponseStream中的信息

public static string SendPost(string data, string url, string contentType)
{
  string content = string.Empty;
  HttpWebRequest httpWebRequest = WebRequest.Create(url) as HttpWebRequest;
  httpWebRequest.AllowAutoRedirect = true;
  httpWebRequest.Method = "POST";
  httpWebRequest.ContentType = contentType;
  using (StreamWriter sw = new StreamWriter(httpWebRequest.GetRequestStream()))
  {
    sw.Write(data);
  }
  HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
  using (StreamReader sr = new StreamReader(httpWebResponse.GetResponseStream()))
  {
    content = sr.ReadToEnd();
  }
  return content;
}

3.post请求,通过Stream.Read方法获取ResponseStream中的信息

 public static String RequestUrl(String url, byte[] data, String method = "POST")
{
try
{
  WebRequest request = WebRequest.Create(url);
request.Method = method;
request.ContentType = "application/x-www-form-urlencoded";
if (data != null && data.Length > )
{
request.ContentLength = data.Length;
Stream newStream = request.GetRequestStream();
newStream.Write(data, , data.Length);
newStream.Close();
}
else
{
request.ContentLength = ;
}
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
MemoryStream ms = new MemoryStream();
long ChunkSize = ;
byte[] buffer = new byte[ChunkSize];
long dataLengthToRead = response.ContentLength;//获取响应数据的总大小
while (dataLengthToRead > )
{
int lengthRead = stream.Read(buffer, , Convert.ToInt32(ChunkSize));//读取的大小
ms.Write(buffer, , lengthRead);
dataLengthToRead = dataLengthToRead -
lengthRead;
}

stream.Close();
response.Close();
string responseText = Encoding.UTF8.GetString(ms.ToArray());
return responseText;
}
catch (Exception ex)
{
return ex.Message;
}
}

post&get请求总结的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. Android请求网络共通类——Hi_博客 Android App 开发笔记

    今天 ,来分享一下 ,一个博客App的开发过程,以前也没开发过这种类型App 的经验,求大神们轻点喷. 首先我们要创建一个Andriod 项目 因为要从网络请求数据所以我们先来一个请求网络的共通类. ...

  3. 重温Http协议--请求报文和响应报文

    http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...

  4. Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)

    背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...

  5. nodejs之get/post请求的几种方式

    最近一段时间在学习前端向服务器发送数据和请求数据,下面总结了一下向服务器发送请求用get和post的几种不同请求方式: 1.用form表单的方法:(1)get方法 前端代码: <form act ...

  6. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  7. C# MVC 5 - 生命周期(应用程序生命周期&请求生命周期)

    本文是根据网上的文章总结的. 1.介绍 本文讨论ASP.Net MVC框架MVC的请求生命周期. MVC有两个生命周期,一为应用程序生命周期,二为请求生命周期. 2.应用程序生命周期 应用程序生命周期 ...

  8. nodejs进阶(5)—接收请求参数

    1. get请求参数接收 我们简单举一个需要接收参数的例子 如果有个查找功能,查找关键词需要从url里接收,http://localhost:8000/search?keyword=地球.通过前面的进 ...

  9. 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查。。。

    异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 无法向会话状态服务器发出会话状态请求.请确保 ASP.NET State Ser ...

  10. [转]利用URLConnection来发送POST和GET请求

    URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接.程序可以通过URLConnection实例向该URL发送请求.读取U ...

随机推荐

  1. Merge k Sorted Lists [LeetCode]

    Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. S ...

  2. Reverse Linked List II [LeetCode]

    Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...

  3. DataProcessing

    clear load X4058 [m,n]=size(X528); Mean=zeros(1,n); Dev=zeros(1,n); for i=1:n Xi=X528(1:end-1,i); Xi ...

  4. wordpress添加子主题

    使用子主题,可以继承父主题的所有功能,同时避免因为直接使用父主题在父主题升级时造成文件丢失的情况. 子主题的创建很简单: 1.首先在主题文件夹下(wp-content\themes)建立一个文件夹,用 ...

  5. BZOJ4006 [JLOI2015]管道连接

    裸的状压DP 令$f_S$表示包含颜色集合S的最小斯坦纳生成森林的值,于是有: $$f_S=\min\{f_S,f_s+f_{S-s}|s\subset S\}$$ 然后嘛...还是裸的斯坦纳树搞搞. ...

  6. loadrunner 如何做关联

    在页面中为了防止CRSF攻击,每次访问登录页面时,在浏览器器端生成一个token. 在提交时检验这个token是否有效,提交后token自动失效.   如果使用loadrunner来测试此系统话需要做 ...

  7. 查看Nginx、apache、MySQL和PHP的编译参数

    1.nginx编译参数:#/usr/local/nginx/sbin/nginx -V2.apache编译参数:# cat /usr/local/apache/build/config.nice3.p ...

  8. 在Excel中引用其他宏

    在excel的使用过程中,会用到一些自定义函数,可以使用宏轻松的实现这些功能,问题是必须使用“启用宏的excel”,这样用户每次打开时都要启用宏. 现用以按背景色计划为例,解决以上问题: 1.新建一个 ...

  9. 1968: [Ahoi2005]COMMON 约数研究

    #include<cstdio> #include<iostream> #define M 1000008 using namespace std; long long tot ...

  10. C# SQLiteDataReader获得数据库指定字段的值

    获得数据库指定字段的值,赋给本地变量 (1)如下,获得userinfo数据表里的字段"userid"."orgid", string userid=" ...