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, 它是被解码了,我不知道会发生什么

所以我尝试对数据进行两次编码

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 回答