关闭

HTTP 发送特殊字符 &

1127人阅读 评论(0) 收藏 举报
     在用HTTP发送带有中文时用encodeURI()方法,发送带有特殊字符的字符串时,这个方法对这!@#$%^*()等是不进行重新编码的,因为这些是ASCLL编吗,如果用get 方式,发送特殊字符会不能成功发送。
    这种情况下可以用post 方式去发送一些特殊字符,例如*()%$等,但post方式在发送的内容中如果有&字符还是不可以因为post在传输过程中是一个特殊字符。如果先把这个&字符转换为%26的话,如果再用encodeURI()  %号 也要会被转换成%25 这样还是出现错乱,


    总结:
    1 。如果用GET方式请求:应该先先把所有的要发送的内容进行encodeURI , 然后再把~!@#$%^&*()等特殊字符替换为  (% +16进制)
    2 。如果用POST方式请求 :应该为  先把所有的要发送的内容进行encodeURI(),然后再把&符替换为%26这样OK了
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:145029次
    • 积分:1897
    • 等级:
    • 排名:千里之外
    • 原创:37篇
    • 转载:86篇
    • 译文:0篇
    • 评论:12条
    文章分类
    最新评论