URL转码问题

fffjjjhhh 2014-01-07 07:55:04
用VC 提交POST表单,抓包发现IE提交如下:

__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTQ0ODcyNTY4OGRkIHaxARP4DJqueJMndFwyXWgtnKTFFd8%2FKHkty7%2BzGUM%3D&__VIEWSTATEGENERATOR=C2EE9ABB&__EVENTVALIDATION=%2FwEWBQK97M73DwKk4qryCALG8eCkDwKC3IeGDALF97uMC%2FCY%2F7BXbtwX1n6BsK9Ud3mpLWUU6NfW6nH7gL%2Bmr8N%2F&txtSfzmhm=410504197612032013&txtUserPwd=123456&btnLogin=%E7%99%BB%E5%BD%95


我的程序URL转码后如下:


%5F%5FEVENTTARGET%3D%26%5F%5FEVENTVALIDATION%3D%2FwEWBQK97M73DwKk4qryCALG8eCkDwKC3IeGDALF97uMC%2FCY%2F7BXbtwX1n6BsK9Ud3mpLWUU6NfW6nH7gL%2Bmr8N%2F%26%5F%5FVIEWSTATE%3D%2FwEPDwUKMTQ0ODcyNTY4OGRkIHaxARP4DJqueJMndFwyXWgtnKTFFd8%2FKHkty7%2BzGUM%3D%26%5F%5FVIEWSTATEGENERATOR%3DC2EE9ABB%26txtSfzmhm%3D410504197612032013%26txtUserPwd%3D123456%26btnLogin%3D%E7%99%BB%E5%BD%95

都是URL转码怎么不一样啊,我用的是UTF8编码。转码函数如下:

string strCoding::UrlUTF8(string str)
{
string tt=str;
string dd;

size_t len=tt.length();
char ttb[2];

for (size_t i=0;i<len;i++)
{
if(isalnum((BYTE)tt.at(i)))
{

char tempbuff[2]={0};
sprintf(tempbuff,"%c",(BYTE)tt.at(i));
dd.append(tempbuff);

}
else if (isspace((BYTE)tt.at(i)))
{
dd.append("+");
}
else
{
char tempbuff[4];
sprintf(tempbuff,"%%%X%X",((BYTE)tt.at(i)) >>4,((BYTE)tt.at(i)) %16);
dd.append(tempbuff);
}

}
return dd;
}

希望高手给看一下。
...全文
256 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fffjjjhhh 2014-02-06
  • 打赏
  • 举报
回复
找到原因了,IE是名字不转码,只是值转码,而我是名字和值都转,当然不一样了.
蝶恋花雨 2014-01-24
  • 打赏
  • 举报
回复
C# var test = "%5F%5FEVENTTARGET%3D%26%5F%5FEVENTVALIDATION%3D%2FwEWBQK97M73DwKk4qryCALG8eCkDwKC3IeGDALF97uMC%2FCY%2F7BXbtwX1n6BsK9Ud3mpLWUU6NfW6nH7gL%2Bmr8N%2F%26%5F%5FVIEWSTATE%3D%2FwEPDwUKMTQ0ODcyNTY4OGRkIHaxARP4DJqueJMndFwyXWgtnKTFFd8%2FKHkty7%2BzGUM%3D%26%5F%5FVIEWSTATEGENERATOR%3DC2EE9ABB%26txtSfzmhm%3D410504197612032013%26txtUserPwd%3D123456%26btnLogin%3D%E7%99%BB%E5%BD%95"; Response.Write(Server.UrlDecode(test)); //转换后输出和你抓包的一样
蝶恋花雨 2014-01-24
  • 打赏
  • 举报
回复
GB2312编码试试。
zx119koko 2014-01-24
  • 打赏
  • 举报
回复
转码这种东西显然有别人写好的, 干嘛自己做??

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧