前言

问题:1、什么是特殊字符?

2、为什么要处理特殊字符?

答:特殊字符指相对于传统或常用的符号外,使用频率较少字符且难以直接输入的符号,比如数学符号;单位符号;制表符等

有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。

问题

如何逐行返回http响应的内容,而不是把整个内容作为一个字符串

设计

通过HttpWebRequest.GetResponse()方法获得http响应的数据流(Stream),并且把这个stream传给StreamReader()的构造函数,然后在一个while循环中通过StreamReader.ReadLine()方法进行逐行读取。

方案

 public static void stream()
{
Stream st = null;
StreamReader sr = new StreamReader(st); string line = null;
Console.WriteLine("HTTP Response is line-by-line:");
while((line=sr.ReadLine())!=null)
{
Console.WriteLine(line);
}
st.Close();
sr.Close(); }

经我琢磨

       static void Main(string[] args)
{
stream();
}
public static void stream()
{
string url = "www.baidu.com";
//定义一个byte数组
byte[] array = Encoding.ASCII.GetBytes(url);
//将数组赋给数据流
MemoryStream stream = new MemoryStream(array);
StreamReader sr = new StreamReader(stream); //Stream st = null;
//StreamReader sr = new StreamReader(st); string line = null;
Console.WriteLine("HTTP Response is line-by-line:");
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
stream.Close();
sr.Close(); }

注解

用于发送http请求的三种基本方法(WebClient、WebReqest、HttpWebRequest)都支持通过某个方法以Stream对象的形式返回与它们相关联的http响应。

逐行返回http响应的内容的更多相关文章

  1. [Java] 两种发起POST请求方法,并接收返回的响应内容的处理方式

    1.利用apache提供的commons-httpclient-3.0.jar包 代码如下: /** * 利用HttpClient发起POST请求,并接收返回的响应内容 * * @param url ...

  2. Asp.Net MVC如何返回401响应码

    需求:     在默认创建的Asp.Net MVC项目中(这里使用VS2013),需要手动返回一个401响应码给浏览器.我们的代码可能是下面这样子的.   public ActionResult Un ...

  3. HttpResponseMessage获取请求响应体内容

    问题描述 使用httpClient获取的HttpResponseMessage类型的response,直接对其toString()获取的是请求的响应头,并没有获取响应体的内容 解决办法 HttpRes ...

  4. Nginx挂载维护页或返回自定义响应信息

    在服务停机升级或者服务暂不可用时,往往希望能够返回给用户更为明确和友好的响应信息.可以通过修改nginx配置文件,达到返回自定义信息的效果.有如下几种配置方式: (1)Nginx接收到的所有请求,都返 ...

  5. 使用 ResponseBodyAdvice 拦截Controller方法默认返回参数,统一处理返回值/响应体

    使用 @ControllerAdvice & ResponseBodyAdvice 拦截Controller方法默认返回参数,统一处理返回值/响应体 1.Controller代码 以下是Con ...

  6. 每次收到的 HTTP 请求,就可以打开一个 SqlSession,返回一个响应,就关闭它

    mybatis – MyBatis 3 | 入门 http://www.mybatis.org/mybatis-3/zh/getting-started.html 作用域(Scope)和生命周期 理解 ...

  7. shiro异步请求返回JSON响应

    shiro异步请求返回JSON响应 需求1:当shiro请求资源,但是没有进行认证时,默认是进行重定向,现在需要返回JSON响应.注意异步请求,服务器重定向后,ajax拿到的是浏览器重定向后的到的页面 ...

  8. JMeter学习笔记(十八)——返回的响应数据出现中文乱码_解决方案

    一.问题描述 使用jmeter过程中遇到了请求返回的响应数据出现中文乱码 二.原因分析 当没有对响应数据or响应页面设置支持解析中文的编码时,JMeter则会以默认的ISO-8859-1格式解析,而其 ...

  9. StyleBundle打包问题—— /* 未能缩小。正在返回未缩小的内容。

    问题--查看打包发布的结果,类似下面的这样的 /* 未能缩小.正在返回未缩小的内容. (1567,65): run-time error CSS1054: JavaScript error in ex ...

随机推荐

  1. java新手笔记19 抽象类

    1.Shap package com.yfs.javase; public class Shape /*extends Object */{ //默认继承object object方法全部继承 //计 ...

  2. 设计模式之 Factory Method 工厂方法

    看到的比较有意思的一篇描述工厂方法的文章. http://www.codeproject.com/Articles/492900/From-No-Factory-to-Factory-Method 总 ...

  3. C# 利用TextBox的Text属性实现换行加字符 "\r\n"

    要让一个TextBox显示多行文本就得把它的Multiline属性设置为true,可是如果你是要把TextBox的Text属性设置多行文本时,换行符由两个字符组成:"\r\n". ...

  4. Linux内核设计与实现 读书笔记

    第三章 进程管理 1. fork系统调用从内核返回两次: 一次返回到子进程,一次返回到父进程 2. task_struct结构是用slab分配器分配的,2.6以前的是放在内核栈的栈底的:所有进程的ta ...

  5. The test form is only available for requests from the local machine 解决方法

      protocolsdocumentationsoapweb 当您尝试从远程计算机访问 Web 服务时,不会显示“调用”按钮.并且,您会收到以下错误信息: The test form is only ...

  6. Linux下使用openvpn客户端

    安装 root 权限用户下 :yum install openvpn fedora23的yum可能会切换到dnf源上安装不必在意,等待就ok. 稍等片刻将自动安装好openvpn需要的软件包.安装完成 ...

  7. sqlsever2008数据库的备份与还原

    本文数据库的名称为ProjectControl  public static SqlConnection conn = new SqlConnection("server=(local);u ...

  8. BZOJ1861[ZJOI2006]Book书架

    Description 小T有一个很大的书柜.这个书柜的构造有些独特,即书柜里的书是从上至下堆放成一列.她用1到n的正整数给每本书都编了号. 小T在看书的时候,每次取出一本书,看完后放回书柜然后再拿下 ...

  9. 被windows“折磨”了一个礼拜

    说是被windows折磨了一个礼拜,这话一点都不假!由于想彻底的卸载SQL Server而误删系统文件,导致系统重启之后持续蓝屏.无奈之下只能重装系统(心想,加入当初自己将系统备份的话,那该是多美好的 ...

  10. 运维安全系列基础服务之 FTP 服务(系列一)

    做了多年运维工程师,积攒了一些经验,和大家分享下.个人认为,运维安全话题的系列,主要包括下面四个方面: 基础服务 网络层 应用层 云安全 今天主要讲的是基础服务里面的[FTP服务][ftp]. 文件传 ...