我試圖從LinkedIn獲取公開的個人資料信息。爲了達到這個目的,我必須提供
http://api.linkedin.com/v1/people/url=public-profile-url,其中public-profile-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
就這樣,我從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