用C语言实现URL解密(urldecode)
2011-07-13 11:00
134 查看
今天编写了 一个 CGI程序 输入路径名 如 /home/michael/prison.avi
发现 c 语言程序 getenv 接受的数据为 %20%2Fhome%2Fmichael%2Fprison.avi ///// (data=getenv("QUERY_STRING");)
这是URL编码之后的数据。
于是用了如下的代码解决了问题:
转自: http://hi.baidu.com/phps/blog/item/342254da12df5bdbb6fd489f.html
发现 c 语言程序 getenv 接受的数据为 %20%2Fhome%2Fmichael%2Fprison.avi ///// (data=getenv("QUERY_STRING");)
这是URL编码之后的数据。
于是用了如下的代码解决了问题:
void urldecode(char *p) { register i=0; while(*(p+i)) { if ((*p=*(p+i)) == '%') { *p=*(p+i+1) >= 'A' ? ((*(p+i+1) & 0XDF) - 'A') + 10 : (*(p+i+1) - '0'); *p=(*p) * 16; *p+=*(p+i+2) >= 'A' ? ((*(p+i+2) & 0XDF) - 'A') + 10 : (*(p+i+2) - '0'); i+=2; } else if (*(p+i)=='+') { *p=' '; } p++; } *p='\0'; }
转自: http://hi.baidu.com/phps/blog/item/342254da12df5bdbb6fd489f.html
相关文章推荐
- c语言实现url的编码和解码
- 实现URL参数的加密和解密的方法 .
- php实现URL加密解密的方法
- C语言实现url的编码和解码
- C语言实现数据保护算法(2)——AES加解密
- URL编解码C语言实现
- [置顶] c语言实现记事本文件的 DES加密 解密
- c++ 实现url的转码与解码 urlencode urldecode
- HTTP协议URL解析的C语言实现
- c语言实现记事本文件的 DES加密 解密
- URL的解析,C语言实现
- C语言实现数据保护算法(1)——DES&3DES加解密
- C语言实现简单文件加密解密
- 利用MVC的过滤器实现url的参数加密和解密
- C语言:基于OpenSSL-RSA实现RSA非对称加解密
- 用C语言实现移位密码加密与解密
- 利用MVC的过滤器实现url的参数加密和解密
- C语言实现任何文件的加密解密
- WEB系统中加密\解密URL传输参数(EIP.Framework中的实现)