Я пытаюсь получить общедоступную информацию профиля из LinkedIn. Для этого я должен предоставить
http://api.linkedin.com/v1/people/url=public-profile-url, где public-profile-url ДОЛЖЕН быть закодирован в URL.Сохранять url при использовании класса URI
Проблема в том, что классы .NET, такие как HttpClient, WebRequest и т. Д. Используют класс Uri, который, как представляется, «канонизирует» предоставленный URL-адрес, так что я не могу получить отправленный надлежащим отформатированный запрос.
URI, должно быть:
http://api.linkedin.com/v1/people/url=http%3a%2f%2fwww.linkedin.com%2fin%2fiftachragoler
но:
http://api.linkedin.com/v1/people/url=http://www.linkedin.com/in/iftachragoler
Таким образом, я получаю 'Bad Request' от LinkedIn.
Есть ли способ, которым я могу Uri/UriBuilder не расшифровывать этот URL?
Вы делаете что-то вроде '' http://api.linkedin.com/v1/people/url= "+ uri.ToString()'? Тогда класс URI делает именно то, что он должен делать, и вы делаете это неправильно. – dtb
На самом деле, я делаю «http://api.linkedin.com/v1/people/url=» + Url.Encode (profileUrl), а затем передаю его DotNetOpenAuth, который сам передает его UriBuilder. –
В .NET нет класса Url. Пожалуйста, покажите фактический код, который вы используете. – dtb