導航:首頁 > 編程語言 > javaurl中參數帶特殊字元

javaurl中參數帶特殊字元

發布時間:2022-09-28 09:42:05

1. java發送特殊字元到URL

用轉譯試試 text=12\&sd
如果還不行,那就對12&sd字元進行編碼,轉換成ASCII接收了後轉回來

2. JAVA如何處理URL中的特殊字元

這個過程叫轉義復。制
val = "@123+abc%A&B";
val = encodeURIComponent(val);
...
java:
String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");
資料庫保存時,只要轉義單引號,&,| ,?,可能還有遇到再補充吧

3. 如何在Java URI類中使用特殊字元

//該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) 。
//其他字元(比如 :;/?:@&=+$,#
var tDT_Start =$("#DT_Start").val().replace(/:/g,'|'); //將:替代為|,傳到後台再轉換回來
var tDT_End =$("#DT_End").val().replace(/:/g,'|');
解析:字元串要匹配正則/:/g,將符合條件的替換為|

4. java 接收url中參數帶 % %傳過來的值

有些符號在URL中是不能直接傳遞的,如果要在URL中傳遞這些特殊符號,那內么就要使用容他們的編碼了。編碼的格式為:%加字元的ASCII碼,即一個百分號%,後面跟對應字元的ASCII(16進制)碼值。例如 空格的編碼值是"%20"。
如果不使用轉義字元,這些編碼就會當URL中定義的特殊字元處理。

下表中列出了一些URL特殊符號及編碼 十六進制值
1.+ URL 中+號表示空格 %2B

2.空格 URL中的空格可以用+號或者編碼 %20

3./ 分隔目錄和子目錄 %2F

4.? 分隔實際的 URL 和參數 %3F

5.% 指定特殊字元 %25

6.# 表示書簽 %23

7.& URL 中指定的參數間的分隔符 %26

8.= URL 中指定參數的值 %3D

希望對您有所幫助,您的採納就是我的動力,謝謝!

5. URL中有特殊字元怎麼處理

我們知道發送一個http請求時,如果使用的是GET方法,請求的參數會包含在url中並通過&進行分割,如:http://www.example.com/index?name=name1&id=id2。服務端根據url中的參數獲取對應的值。Java編寫的後台代碼,可通過HttpServletRequest的方法getParameter("name")獲取name的值:name=name1.
事實上HttpServletRequest獲取參數是對字元串"?name=name1&id=id2"進行拆分,根據"&"分割出參數名稱,根據"="分割出參數值。那麼問題來了,如果我們的name裡面本身就包含有&或者=,如name="na&me=1",如果發送http請求前不做相應的處理,url就變成了http://www.example.com/index?name=na&me=1&id=id2,這個時候後台解析出來的參數就變成了:name=na;me=1;id=id2,這顯然不是我們想要的結果。
面對這個情況的解決方法是對url中存在歧義的字元串進行URL編碼。URL編碼就是使用一種安全的字元去表示不安全的或存在歧義的字元,」na&me=1"經過URL編碼後的值為:na%26me%3d1,這個時候我們發送http請求的url改為:http://www.example.com/index?name=na%26me%3d1&id=id2,服務端進行解碼後解析參數便可獲得正確的值:name="na&me=1"。

6. 前端返回給ios的url 地址的特殊符號怎麼處理

url里的參數內容包含&符合,我有兩種方法解決<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; text-indent: 27px; " /> 其一方法是:在頁面用js轉碼,例子如下(前端處理)<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; text-indent: 27px; " /> <<a href="#" onclick="test('${group }')">${group }</a><br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; text-indent: 27px; " /> 2>>>>>>>>>>>>>>>>>>>>java bean: group<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; text-indent: 27px; " /> String cn;//要顯示的CN<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; text-indent: 27px; " /> String encodedCN;//當參數傳的CN<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; text-indent: 27px; " /> public Group(String cn) { this(); this = name; setEncodedCN(LdapUtil/?logout&aid=7&u='+encodeURIComponent ("cang/bruce42")+'">退出 </a>');</script><br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> 2、 進行 url跳轉時可以整體使用 encodeURI。 例如:Location/do/s?word=網路 &ct=21");<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> 3、 js 使用數據時可以使用escape 。 例如:搜藏中history 紀錄。<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> 4、 escape對 0-255 以外的unicode 值進行編碼時輸出 %u**** 格式,其它情況下escape , encodeURI , encodeURIComponent編碼結果相同。<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> <br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> 最多使用的應為encodeURIComponent ,它是將中文、韓文等特殊字元轉換成utf-8 格式的 url 編碼,所以如果給後台傳遞參數需要使用encodeURIComponent 時需要後台解碼對 utf-8 支持(form 中的編碼方式和當前頁面編碼方式相同)<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> escape不編碼字元有 69 個: *, + , - , . , / , @ , _ , 0-9 , a-z ,A-Z<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> encodeURI不編碼字元有 82 個: !, # , $ , & , ' , ( , ) , * , + , , , - , . , / , : , ; , = , ? , @ , _ , ~ , 0-9, a-z , A-Z<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> encodeURIComponent不編碼字元有 71 個: !, ' , ( , ) , * , - , . , _ , ~ , 0-9 , a-z ,A-Z<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> 以下是url中可能用到的特殊字元及在url中的經過編碼後的值:(略)<br style="word-wrap: break-word; word-break: break-all; font-family: Arial, Helvetica, 宋體; font-size: 14px; line-height: 23px; " /> 項目中發現,直接對url中的參數部分做encodeURI() 編碼轉換,後台servlet通過getParamater()獲取時,不需要轉換可以直接獲取到正確的值。 說明:參數沒有用到中文,框架用的是struts框架

7. java中有沒有方法類似於js中的encodeURIComponent函數,對字元串中的特殊字元進行轉義的

//該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) 。
//其他字元(比如 :;/?:@&=+$,#
var tDT_Start =$("#DT_Start").val().replace(/:/g,'|'); //將:替代為|,傳到後台再轉換回來
var tDT_End =$("#DT_End").val().replace(/:/g,'|');
解析:字元串要匹配正則/:/g,將符合條件的替換為|

C#後台tDT_Start= tDT_Start.Replace("|", ":");

javaScript中有三個可以對字元串編碼的函數,分別是: escape,encodeURI,encodeURIComponent,相應3個解碼函數:unescape,decodeURI,decodeURIComponent 。
下面簡單介紹一下它們的區別
1 escape()函數
定義和用法
escape() 函數可對字元串進行編碼,這樣就可以在所有的計算機上讀取該字元串。
語法
escape(string)
參數 描述
string 必需。要被轉義或編碼的字元串。
返回值
已編碼的 string 的副本。其中某些字元被替換成了十六進制的轉義序列。
說明
該方法不會對 ASCII 字母和數字進行編碼,也不會對下面這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) 。其他所有的字元都會被轉義序列替換。

MVC3
頁面js:

var url = URL +"?startDT="+ escape($("#StartDT").val();//時間

在action中,
{
string dt = Server.UrlDecode(startDT);
}

2 encodeURI()函數
定義和用法
encodeURI() 函數可把字元串作為 URI 進行編碼。
語法
encodeURI(URIstring)
參數 描述
URIstring 必需。一個字元串,含有 URI 或其他要編碼的文本。
返回值
URIstring 的副本,其中的某些字元將被十六進制的轉義序列進行替換。
說明
該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) 。
該方法的目的是對 URI 進行完整的編碼,因此對以下在 URI 中具有特殊含義的 ASCII 標點符號,encodeURI() 函數是不會進行轉義的:;/?:@&=+$,#

3 encodeURIComponent() 函數
定義和用法
encodeURIComponent() 函數可把字元串作為 URI 組件進行編碼。
語法
encodeURIComponent(URIstring)
參數 描述
URIstring 必需。一個字元串,含有 URI 組件或其他要編碼的文本。
返回值
URIstring 的副本,其中的某些字元將被十六進制的轉義序列進行替換。
說明
該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ' ( ) 。
其他字元(比如 :;/?:@&=+$,# 這些用於分隔 URI 組件的標點符號),都是由一個或多個十六進制的轉義序列替換的。
提示和注釋
提示:請注意 encodeURIComponent() 函數 與 encodeURI() 函數的區別之處,前者假定它的參數是 URI 的一部分(比如協議、主機名、路徑或查詢字元串)。因此 encodeURIComponent() 函數將轉義用於分隔 URI 各個部分的標點符號。

4 總結:
通過對三個函數的分析,我們可以知道:escape()除了 ASCII 字母、數字和特定的符號外,對傳進來的字元串全部進行轉義編碼,因此如果想對URL編碼,最好不要使用此方法。而encodeURI() 用於編碼整個URI,因為URI中的合法字元都不會被編碼轉換。encodeURIComponent方法在編碼單個URIComponent(指請求參 數)應當是最常用的,它可以講參數中的中文、特殊字元進行轉義,而不會影響整個URL。

8. java怎麼處理url裡面的特殊字元

這個過程叫轉義。
val = "@123+abc%A&B";
val = encodeURIComponent(val);
...
java:
String s = new String(request.getParameter("val").getBytes("ISO8859-1"), "UTF-8");
在資料庫保存時,只要轉義單引號,&,| ,?,專可能還有遇到再補充吧屬

9. java 從一個URL中提取特定子字元串保存

可以通過java的」substring「方法截取出對應的字元串,前提是內知道開始和結束的字元串的值:
String getSignInfo = reqResult.substring(reqResult.indexOf("(") + 1, reqResult.indexOf(")"));
解釋容:上述方法就是截取reqResult字元串的中開始」(「和結束」)「中間部分的內容,」1「就是」)「的長度,之後將獲取的結果賦值給」getSignInfo進行輸出即可「;
備註:以上方法通用於截取字元串,數字」6「和開始結束字元串根據實際需要修改即可。

10. url的非法字元有哪些

例子:

1、比如在操作系統文件(夾)命名里,它有自己的一套規則: / * ? : | 等字元不能出現在名稱裡面。 因此在此規則裡面 字元 / * ? : "<> | 都屬於非法字元。

2、比如在編程語言 例如C# 變數不能出現以數字開頭的名稱,像 0tmp 這個變數名稱就屬於非法的。

3、比如在java語言中,對於變數名稱只能是數字,字母,下劃線,$這幾種組合,其中不能以數字開頭。

非法字元並不是指某個字元是非法的,而是某個字元不能出現在某個定義的規則裡面。

(10)javaurl中參數帶特殊字元擴展閱讀:

URL的參數中一定要避免的非法字元:

在URL中的參數中不能有空格、雙位元組字元(如漢字),否則會破壞URL中參數含義的准確性,成為非法的URL,訪問該URL後會報:Server returned HTTP response code: 505 for URL錯誤!

解決方法(以參數中含有空格為例):
空格的unicode為%20,將參數中的所有空格都替換為%20即可。

參考資料:網路-非法字元

閱讀全文

與javaurl中參數帶特殊字元相關的資料

熱點內容
3gpp文件怎樣轉換成mp3格式 瀏覽:637
在哪裡看網站的a小電影 瀏覽:175
歐美電影男孩和比自己大的婦女 瀏覽:34
韓國免費劇情電影 瀏覽:743
手機p圖工具怎麼用 瀏覽:508
炮灰人生改造哪個app有 瀏覽:710
中國十大封禁鬼片電影 瀏覽:190
微信下載的圖片在華為哪個文件夾 瀏覽:448
原文件名保存答題標題變動嗎 瀏覽:76
外國女奶大電影 瀏覽:334
奇影視頻ABB 瀏覽:14
美國試禁忌當上演員 瀏覽:54
沙漠百度雲盤資源 瀏覽:560
為什麼右擊u盤中的文件沒有剪切 瀏覽:945
win10藍牙設置接受 瀏覽:75
小電影在哪看 瀏覽:478
iq007桌面app怎麼不顯示名字 瀏覽:549
情侶到北京來打工快遞員電影名字 瀏覽:945
晚上在線觀看的網址 瀏覽:766
本溪大數據如何獲客 瀏覽:861

友情鏈接