我正在使用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;或解决这个问题?
答案 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
,它可能会做你想要的。