2016-09-29 3 views
1

これがなぜ通過するのか不思議です。たとえば、以下のアスタリスクは%2Aとしてエンコードされたパーセントではありません。HttpUrl.Builder.addPathSegment%2Aはアスタリスクをエンコードする必要がありますか?

HttpUrl url = new HttpUrl.Builder() 
    .scheme("http") 
    .host("host") 
    .addPathSegment("foo *") 
    .build(); 
assertEquals("http://host/foo%20*", url.toString()); 
assertEquals("/foo%20*", url.encodedPath()); 
+0

ここで架橋:https://github.com/square/okhttp/issues/3488 –

答えて

-1

主要なブラウザ(Firefoxの、サファリ、およびクローム)パーセントエンコードしないことを選択した* 20%として、それは、パスセグメントであり、したがってOkHttpは、それらの挙動と一致することを選択した場合。

SafariとOkHttpがエラーになり、Firefoxがそのまま残り、Chromeパーセントが%20としてエンコードされているホストは、ブラウザとOkHttpが異なる*の部分だけです。

ResearchGithubBlog Post

+0

あなたのリンクの周りにいくつかのコンテキストを追加することはできますか?リンクは素晴らしい(しばしば帰属のために必要とされる)ことを覚えておいてください。しかし、あなたの答えはまだ有効であり、将来リンクが死んでもよいでしょう。がんばろう! – Frits

+0

たとえば、_Research Shows_に言及すると、研究の成果をすばやく分析できるかもしれませんか?基本的な結果は何でしたか?これを素晴らしい答えに変えるのは非常に遠いでしょう:) – Frits

+0

解決策へのリンクは歓迎ですが、答えが無ければ便利です:[リンクの前後にコンテキストを追加](// meta.stackexchange.com/a/8259)ので、あなたの仲間のユーザーは、それが何であるか、なぜそれがあるのか​​を知り、ターゲットページが利用できない場合にリンクしているページの最も関連性の高い部分を引用します。 [リンクよりも少しだけ回答が削除される可能性があります](// stackoverflow.com/help/deleted-answers) – sudo

関連する問題