zoukankan      html  css  js  c++  java
  • C# httpwebrequest post 传输百分号‘%’

    转载: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操作的

  • 相关阅读:
    项目选题报告答辩总结
    项目UML设计(团队)
    项目选题报告答辩总结
    第七次作业
    结对第二次
    第四次作业
    alpha冲刺4
    alpha冲刺3
    alpha冲刺2
    alpha冲刺1
  • 原文地址:https://www.cnblogs.com/51net/p/4452165.html
Copyright © 2011-2022 走看看