.Net WebRequest.Create解码编码的URI

时间:2012-04-19 15:22:08

标签: .net vb.net .net-3.5

我正在使用Web请求编写一些对LinkedIn API的其他调用,并且遇到了编码问题.Linux API需要编码的URI作为我正在尝试运行的查找的参数之一。

我们通过.Net的WebRequest.Create调用api;当我们传入URI时,它会对其进行解码,因此我们无法从调用中获取数据。我试图打开这样的

http://api.linkedin.com/v1/people/url=http%3A%2F%2Fwww.linkedin.com%2Fin%2FProfileName

webrequest类中是否有一种机制可以阻止它解码传入的URI;或解决这个问题?

1 个答案:

答案 0 :(得分:1)

我不确定这会有效,但它显示了一些希望。

static readonly string UrlString =
  "http://api.linkedin.com/v1/people/url=http%3A%2F%2Fwww.linkedin.com%2Fin%2FProfileName";


Uri myUri = new Uri(Uri.EscapeUriString(UrlString));
Console.WriteLine(myUri.ToString());  // this is only to show the string for debugging

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(myUri);

Console.WriteLine的输出格式与您想要的字符串格式相同。如果你把那个Uri传递给WebRequest.Create,它可能会做你想要的。