1

全て

次のコード行があります...(。net 3.5)

string URL = "http://api.linkedin.com/v1/people/url=http%3a%2f%2fuk.linkedin.com%2fpub%2fjulian-welby-everard%2f0%2fb97%2f416";
UriBuilder uri = new UriBuilder(URL);

これにより、 http://api.linkedin.com/v1/people/url=http://uk.linkedin.com/pub/julian-welby-everard/0/b97/416のURIオブジェクトにURLが返されます 。デコードされた、私はこれが起こることをしません

だから私はデータを2回エンコードしようとしました

string URL = "http://api.linkedin.com/v1/people/url=http%253a%252f%252fuk.linkedin.com%252fpub%252fjulian-welby-everard%252f0%252fb97%252f416";
UriBuilder uri = new UriBuilder(URL);

これにより、次のようなURLが返されますhttp://api.linkedin.com/v1/people/url=http%253a%252f%252fuk.linkedin.com%252fpub%252fjulian-welby-everard%252f0%252fb97%252f416今回は何もデコードされていません。最初の試行と同じようにデコードされることを期待していましたが、これは二重にエンコードされていたため、正しい形式で文字列を返します。

したがって、質問は次のとおりです。URIオブジェクトが指定されたURLをデコードしないようにして、正しいデータをHttpWebRequestに渡すことができます。

ジュリアン

4

1 に答える 1

1

http%3a%2f%2fwww.google.com%2f を返す HttpUtility.UrlEncode("http://www.google.com/") を探していると思います。

于 2012-06-27T12:08:37.277 に答える