2011-06-24 13 views
4

HTTP URLの無効な文字と、Javaで同じものを検証する最適な方法を教えてください。 HTTP(S):// IP:ポート/ URLString事前にhttp URLの無効な文字

おかげで私は何を探していますは、URL形式のURLStringの検証です。

答えて

1

RFC 1738によると、以下が安全ではないとみなされています。

  1. <と> - フリーテキスト内のURLの周りの区切り文字
  2. 」(二重引用符) - 区切る - いくつかのシステム
  3. 内のURLを区切ります

  4. % - 文字エンコーディングを示すために使用されます。

一般的で安全でない文字: {} | \ ^〜[] `

編集:

ない重複したが、Javaでの検証上のいくつかの考えが含まれます。UrlValidatorの使用に関するValidate URL in java

+0

関連するのはRFC 3986です。 –

3

%エンコードされている限り、任意のユニコード文字を使用できます。明示的に予約文字がRFC3986のセクション2.2で定義されています。http://tools.ietf.org/html/rfc3986#section-2

ドキュメントから:

reserved = gen-delims/sub-delims 

    gen-delims = ":"/"/"/"?"/"#"/"["/"]"/"@" 

    sub-delims = "!"/"$"/"&"/"'"/"("/")" 
      /"*"/"+"/","/";"/"=" 
0

読むRFC1738ページ2とページ3詳細については、リンクの上に。

+0

私はdownvoteの原因を知っているかもしれませんか? – phoxis

0

どのように? isValidPathメソッドはおそらく便利です。 :)