转载:http://blog.csdn.net/qqstrive/article/details/8229601

通过webrequest的post传输数据的时候,如果url里面的参数带有‘%’,那么在取地址栏的参数的时候会出现空指针,或者是错误。

string URL = http://127.0.0.1/file.do ;

string postdata = "domethod=list&content=30%";

解决办法:

对于postdata参数中的content 进行unciond或者是base64编码,再进行传输到服务端,服务端接收后再进行解码操作即可。

base64编码%变为JQ==

unicode编码 %变为\u0025

首先先来说一下为什么要urlencode 

http://blog.csdn.net/henulwj/article/details/7916557
1.为了正常获取值 
字符 特殊字符的含义 URL编码 
# 用来标志特定的文档位置 %23 
% 对特殊字符进行编码 %25 
& 分隔不同的变量值对 %26 
+ 在变量值中表示空格 %2B 
\ 表示目录路径 %2F

= 用来连接键和值 %3D 
? 表示查询字符串的开始 %3F

当url中含有以上列表中的一些字符时就无法准确的接收其中的值。

2.如果要传递的参数不想让人一眼就看出来的话,也可以urlencode一下,url就会变成一段编码后的长长的字符串。

至于urldecode就没什么好说的了 
就是把urlecode编码后的url字符串再解码成原来的url 
你encode了 
肯定需要反向操作一下,即decode

注:.net下面是用HttpUtility.UrlEncode()和HttpUtility.UrlDecode() 
来实现url的encode和decode操作的

C# httpwebrequest post 传输百分号‘%’的更多相关文章

  1. C#请求http向网页发送数据,网页接收

    首先,我们需要的是什么东西? 用POST方式请求http,给网页传输数据,网页接收到数据之后,把数据存储到数据库中. 1.首先请求http,建立连接,把转码过的数据传输过去 2.网页接收数据,在转码之 ...

  2. .NET 文件上传和文件接收

    有时候,我们需要在后台端发起向指定的“文件接收接口”的文件传输请求,可以采用HttpWebRequest方式实现文件传输请求. 1.HttpWebRequest文件传输请求的代码如下: 其中,url为 ...

  3. 基于HTTP的断点传输

    最近项目需要做一个类似于迅雷的文件下载功能,这类需求可能比较常见,希望可以帮助到有需要的同学 要求: 1.支持断点传输 2. 多文件同时下载 3. 由于是客户内部试用,服务器只支持HTTP文件下载不支 ...

  4. url 编码(percentcode 百分号编码)(转载)

    原文地址:http://www.cnblogs.com/leaven/archive/2012/07/12/2588746.html   http://www.imkevinyang.com/2009 ...

  5. 利用HttpWebRequest实现实体对象的上传

    一 简介 HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对 ...

  6. C# winfrom HttpWebRequest 请求获取html网页信息和提交信息

    string result =GetRequest("http://localhost:32163/DuoBao/ajax.aspx", "time=5"); ...

  7. 在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

    通用辅助类  下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需 要获取认证信息(如Cookie),所以返回的是HttpWeb ...

  8. C# HttpWebRequest GET HTTP HTTPS 请求

    下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需要获取认证信息(如Cookie),所以返回的是HttpWebResponse ...

  9. C#实现http协议下的多线程文件传输

    用C#实现HTTP协议下的多线程文件传输转自  http://developer.51cto.com/art/201105/263066_all.htm C#(C Sharp)是微软(Microsof ...

随机推荐

  1. span文字里面自动换行时怎么办

    可以用white-space:nowrap来强制文字不换行,知道遇到<br>为止

  2. webpack编译时No PostCSS Config的解决方法

    1. { loader:"postcss-loader", options: { // 如果没有options这个选项将会报错 No PostCSS Config found pl ...

  3. JAVA(一)变量

    public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(" ...

  4. MP3 Music Library in Tornado

    Web2.0的lab3,使用tornado实现,自己改了改UI 效果 选中播放列表后的效果 原来的图标长得太丑了,有空找些好看点的加进去……以后继续完成extra feature,当复习python了 ...

  5. python开发学习-day10(select/poll/epoll回顾、redis、rabbitmq-pika)

    s12-20160319-day10 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  6. Codeforces Round #490 (Div. 3) F - Cards and Joy

    F - Cards and Joy 思路:比较容易想到dp,直接dp感觉有点难,我们发现对于每一种数字要处理的情况都相同就是有 i 张牌 要给 j 个人分, 那么我们定义dp[ i ][ j ]表示 ...

  7. Linux内核编译安装

    1. .config 复制一份当前系统编译时的配置,在/usr/src目录下 $ ls /usr/src/ linux-headers-4.10.0-35 linux-headers-4.8.0-36 ...

  8. 20169211《Linux内核原理与分析》第二周作业

    <linux内核分析>实验一实验报告 <linux内核设计与实现>第1.2.18章学习总结 一.<linux内核分析>实验一实验报告        在进行实验楼操作 ...

  9. HDU 6030 Happy Necklace

    矩阵快速幂. 因为任意素数长度都要满足,所以$3$必须满足,$3$一旦满足,其余的肯定满足,也就是说只要考虑字符串末尾两位即可,$dp$一下就可以算方案数了.$n$较大,可以矩阵加速. #includ ...

  10. Android之 解析XML文件(1)—— Pull解析

    (以下文章基本照抄<第一行代码>) 解析XML文件有很多方法,这里主要讲Pull解析和SAX解析.这篇文章主要是讲Pull解析. 一.Pull解析参考代码 先上代码: private vo ...