エスケープする必要のある文字を含むなど、不正なURIの一般的な問題を修正できる優れたScalaまたはJavaライブラリを知っている人はいますか?不正なURIを修正するためのスカラまたはJavaライブラリ
7
A
答えて
3
HTTPClientの従来のURIUtilを含むいくつかのライブラリをテストしましたが、実行可能な解決策が見つかっていません。
/**
* Tries to construct an url by breaking it up into its smallest elements
* and encode each component individually using the full URI constructor:
*
* foo://example.com:8042/over/there?name=ferret#nose
* \_/ \______________/\_________/ \_________/ \__/
* | | | | |
* scheme authority path query fragment
*/
public URI parseUrl(String s) throws Exception {
URL u = new URL(s);
return new URI(
u.getProtocol(),
u.getAuthority(),
u.getPath(),
u.getQuery(),
u.getRef());
}
次のルーチンとの組み合わせを使用することができる。一般的に、私はしかしjava.net.URIこの型の構築物との十分な成功を収めてきました。デコードされた文字列が変化しなくなるまで、URL
を繰り返し復号する。これは、例えば、二重符号化に対して有用であり得る。それをシンプルに保つために、注意してください、このサンプルが備わっていない任意のフェイルセーフなど
public String urlDecode(String url, String encoding) throws UnsupportedEncodingException, IllegalArgumentException {
String result = URLDecoder.decode(url, encoding);
return result.equals(url) ? result : urlDecode(result, encoding);
}
1
私はパーセントエンコーディングのURIの
java.net.URLEncoder
を使用しないことを助言する
。それはrfc3986標準、代わりに私はスプレーのhttpからUriクラスをお勧めしますScalaでURIをエンコードするためのapplication/x-www-form-urlencoded
MIME形式(read more here)
にエンコードに従わないとして名前にもかかわらず、それは、URLを符号化するための素晴らしいではありません。 scala-uriは代わりです(免責事項:私は著者です)。
関連する問題
- 1. 不正な形式を修正するためのjavascriptコード
- 2. T-SQL不正な関係を修正するためのクエリ
- 3. ヒューリスティックを使用して不正にエンコードされたテキストを修正するためのJavaライブラリ
- 4. 不正なレコードを含むテーブルを修正しました
- 5. Notepadd ++で不正なXMLファイルを修正しました。
- 6. .NET用ライブラリを修正しました
- 7. C++ ZIPファイルを修正するためのライブラリ
- 8. [Ruby]:不正なUriエラー
- 9. 無効なJSONを修正するための正規表現
- 10. は、不正な形式のURI参照
- 11. メモリリークを修正するためのValgrind
- 12. CSSを修正するためのユーザースクリプト
- 13. Control.Lensの "不正な多型または修飾型"
- 14. 不正なオフセット警告の修正
- 15. テストコードを修正するためのJavaツール
- 16. Google APIとoauth 2.0のリダイレクトURIを修正しました
- 17. Ruby URIモジュールが不正なファイルURIを生成します
- 18. 不正な式のコンパイルエラーを修正するには?
- 19. 文法を修正するためのPHPライブラリがありますか?
- 20. 不正なパターンエラーを修正する必要があります
- 21. 修正:不正な形式のプログラムを読み込もうとしました
- 22. 共有ライブラリの壊れたリンクを修正しましたg ++
- 23. Bugzilla:修正されたバグを修正しました:さらなるコメントを止める方法(JIRAへの移行のためフリーズするため)
- 24. Powershell Register-PSRepositoryの「無効なWeb Uri」を修正するには?
- 25. パスカルエラー:不正な修飾子
- 26. 不正な修飾エラー
- 27. 配列のための不正な出力、java
- 28. css minificationを修正するためのsed正規表現
- 29. SAPUI5:キーの不正なURIリテラル構文
- 30. twilio apiからの不正なURIエラー