最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

url decode problem 解決方法

 更新時間:2011年12月26日 21:45:03   作者:  
今天被告訴了一個奇怪的事兒,第三方網(wǎng)站使用我們提供的簽名是出現(xiàn)了錯誤,原因是使用php的urldecode時把加號(+) 替換成了空格
試驗了一下python的urllib庫以及js 的 encodeURIComponent 均不會替換??崭馿ncode也是替換成了 '%20' 。python提供了urllib.quote_plus, urlib.unquote_plus來處理空格->加號,看起來還是比較合理的。

查了一下 RFC 3986: 有下面一段

Scheme names consist of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus ("+"), period ("."), or hyphen ("-").
RFC 2396 有下面的一段

The plus "+", dollar "$", and comma "," characters have been added to those in the "reserved" set, since they are treated as reserved within the query component.
表示加號已經(jīng)是url的保留字了,不需要轉(zhuǎn)義。

然后html4文檔里才有關(guān)于加號的轉(zhuǎn)義:

application/x-www-form-urlencoded
Forms submitted with this content type must be encoded as follows:
Control names and values are escaped. Space characters are replaced by`+', and then reserved characters.....
聲明只有content-type為application/x-www-form-urlencoded時才會對+做轉(zhuǎn)義。

又翻了下php的文檔,發(fā)現(xiàn)有一個

rawurlencode() - URL-encode according to RFC 3986


也就是php又搞了rawurlencode和rawurldecode把標準實現(xiàn)了。。。。

不能反一下么,畢竟大部分人應(yīng)該都會用urlencode。php真是蛋疼啊。。。。

相關(guān)文章

最新評論

依安县| 慈溪市| 正镶白旗| 当阳市| 博客| 新闻| 林甸县| 镶黄旗| 武乡县| 兰州市| 宣威市| 瑞金市| 育儿| 迭部县| 吉安市| 望谟县| 峡江县| 泰来县| 聊城市| 宜春市| 旬阳县| 洞头县| 土默特左旗| 新郑市| 普宁市| 湾仔区| 通道| 大方县| 荔浦县| 新龙县| 桃江县| 桑植县| 岳普湖县| 公安县| 七台河市| 瑞金市| 台中县| 三河市| 建阳市| 高阳县| 远安县|