POST提交特殊字符处理问题

问题描述

做一个QQ空间的留言删除功能,删除代码如下///<summary>///删除留言///</summary>///<paramname="gtk">gtk</param>///<paramname="mig">留言ID</param>///<returns></returns>privateboolDelete(intgtk,stringmig){Uriuri=newUri("http://m.qzone.qq.com/cgi-bin/new/del_msgb?g_tk="+gtk);byte[]by=Encoding.GetEncoding("utf-8").GetBytes(string.Format("qzreferrer=http://ctc.qzs.qq.com/qzone/msgboard/msgbcanvas.html#page=1&hostUin={0}&idList={1}&uinList={2}&format=fs&iNotice=1&inCharset=utf-8&outCharset=utf-8&ref=qzone&json=1&g_tk={3}",this.textBox_QQ.Text.Trim(),mig,this.textBox2.Text.Trim(),gtk));HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(uri);request.Accept="text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8";request.ContentType="application/x-www-form-urlencoded";request.Host="m.qzone.qq.com";request.ContentLength=by.Length;request.Referer="http://ctc.qzs.qq.com/qzone/msgboard/msgbcanvas.html";request.UserAgent="Mozilla/5.0(WindowsNT6.0)AppleWebKit/537.36(KHTML,likeGecko)Chrome/39.0.2171.95Safari/537.36";request.Method="post";request.CookieContainer=this.cookie;Streams=request.GetRequestStream();s.Write(by,0,by.Length);s.Close();HttpWebResponseresponse=(HttpWebResponse)request.GetResponse();this.cookie.Add(response.Cookies);Streamstream=response.GetResponseStream();StreamReaderreader=newStreamReader(stream,Encoding.Default);stringhtml=reader.ReadToEnd();reader.Close();stream.Close();request.Abort();response.Close();returntrue;}

qzreferrer=http://ctc.qzs.qq.com/qzone/msgboard/msgbcanvas.html#page=1该参数里面有#号,要怎么处理。求做过的大神支招。分不多,大家研究一下可好,谢谢啦。

解决方案

解决方案二:
要对参数值编码的,比如用utf8去encode,对方解码就可以了decode
解决方案三:
有木有大神过来给个解决方案啊
解决方案四:
引用1楼bdmh的回复:

要对参数值编码的,比如用utf8去encode,对方解码就可以了decode

这样System.Web.HttpUtility.UrlEncode(str,UTF8),还是报错,说参数错误

时间: 2024-10-07 20:07:13

POST提交特殊字符处理问题的相关文章

PHP对表单提交特殊字符的过滤和处理方法汇总_php技巧

PHP关于表单提交特殊字符的处理方法做个汇总,主要涉及htmlspecialchars/addslashes/stripslashes/strip_tags/mysql_real_escape_string等几个函数联合使用,与大家共同交流. 一.几个与特殊字符处理有关的PHP函数 函数名 释义 介绍 htmlspecialchars 将与.单双引号.大于和小于号化成HTML格式 &转成&"转成"' 转成'<转成<>转成> htmlentitie

PHP 过滤表单提交特殊字符(防注入)

下面针对常用表单特殊字符处理进行总结: 测试字符串:  代码如下 复制代码 $dbstr='D:test <a href="http://www.111cn.net">http://www.111cn.net</a>,天缘博客 '!='1' OR '1' </DIV> <script  language="javascript" type="text/javascript">alert("

表单数据提交时的字符编码问题

人老了,以前研究过的东西都忘记了.所以还是记录下来比较好. 废话不说,翠花,上代码: Html代码 <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><title>The Character Encoding for Form Submission</title><script>function $(id) { return docume

ajax传送参数含有特殊字符的快速解决方法_AJAX相关

JQuery AJAX中遇到这样一个问题,参数中包含特殊字符,比如&'#@等, 这时执行AJAX的时候就会出问题,因为所传的参数变了.看个示例就明白: 方案一: $.ajax({ url: '/ashx/ajax.ashx', type: 'post', data: 'option=delete&name=11&adb, success: function (data) { if (data != 'error ') { } } }); ' 上面执行的ajax就是异步删除一个nam

PHP简单处理表单输入的特殊字符的方法_php技巧

本文实例讲述了PHP简单处理表单输入的特殊字符的方法.分享给大家供大家参考,具体如下: <html> <body> <?php if ($_POST['submitted'] == "yes"){ $yourname = $_POST['yourname']; $yourname = trim ($yourname); $yourname = strip_tags ($yourname); $yourname = htmlspecialchars ($yo

php SQL Injection with MySQL_php技巧

前言 2003年开始,喜欢脚本攻击的人越来越多,而且研究ASP下注入的朋友也逐渐多了起来,我看过最早的关于SQL注入的文章是一篇99年国外的高手写的,而现在国外的已经炉火纯青了,国内才开始注意这个技术,由此看来,国内的这方面的技术相对于国外还是有一段很大差距,话说回来,大家对SQL注入攻击也相当熟悉了,国内各大站点都有些堪称经典的作品,不过作为一篇完整的文章,我觉得还是有必要再说说其定义和原理.如果哪位高手已经达到炉火纯青的地步,不妨给本文挑点刺.权当指点小弟. 关于php+Mysql的注入 国

Drozer – Android APP安全评估工具(附测试案例)

Drozer原名mercury,是一款不错的Android APP安全评估工具.现在有社区版/专业版两个版本. 具体的使用说明可以参考https://www.mwrinfosecurity.com/system/assets/559/original/mwri_drozer-users-guide_2013-09-11.pdf  测试案例 某Android APP由于Content Provider的控制不严,导致可读写APP私有的数据库,具体的步骤和思路: 1.查找APP完整的包名字(某些命令

SQL Injection with MySQL 注入分析_安全教程

声明 本文仅用于教学目的,如果因为本文造成的攻击后果本人概不负责,本文所有代码均为本人所写,所有数据均经过测试.绝对真实.如果有什么遗漏或错误,欢迎来安全天使论坛和我交流. 前言 2003年开始,喜欢脚本攻击的人越来越多,而且研究ASP下注入的朋友也逐渐多了起来,我看过最早的关于SQL注入的文章是一篇99年国外的高手写的,而现在国外的已经炉火纯青了,国内才开始注意这个技术,由此看来,国内的这方面的技术相对于国外还是有一段很大差距,话说回来,大家对SQL注入攻击也相当熟悉了,国内各大站点都有些堪称

PHP中字符安全过滤函数使用小结_php技巧

在WEB开发过程中,我们经常要获取来自于世界各地的用户输入的数据.但是,我们"永远都不能相信那些用户输入的数据".所以在各种的Web开发语言中,都会提供保证用户输入数据安全的函数.在PHP中,有些非常有用并且方便的函数,它们可以帮助你防止出现像SQL注入攻击,XSS攻击等问题. 1. mysql_real_escape_string() 这个函数曾经对于在PHP中防止SQL注入攻击提供了很大的帮助,它对特殊的字符,像单引号和双引号,加上了"反斜杠",确保用户的输入在