2016-10-17 101 views
0

我必須在我的一個項目中使用UCWA休息APIS。我必須做一個GET請求並使用C#讀取輸出。UCWA Rest API如何發送Get/POST請求

樣本我從文檔中收到過。

發送對自動發現URL的GET請求。 可以通過將域名追加到字符串「https://lyncdiscover」來構建自動搜索URL。 例如,如果域名是「contoso.com」,則自動搜索URL將爲「https://lyncdiscover.contoso.com/」。

GET https://lyncdiscover.contoso.com/ HTTP/1.1 
X-Ms-Origin: http://app.fabrikam.com 
Accept: application/json 
X-Requested-With: XMLHttpRequest 
Referer: https://lyncdiscover.contoso.com/xframe 
Accept-Language: en-us 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) 
Host: lyncdiscover.contoso.com 
Connection: Keep-Alive 

如何在c#中使用httpClient發送這樣的請求並讀取輸出。

我有一個js代碼,如下所示,我必須將該代碼轉換爲C#。

Javascript代碼示例(從郵差的Chrome插件):

var form = new FormData(); 
form.append("grant_type", "urn:microsoft.rtc:windows"); 
var settings = { 
"async": true, 
"crossDomain": true, 
"url": "https://lynctswebint.MyComp.com/WebTicket/oauthtoken", 
"method": "POST", 
"headers": { 
"cache-control": "no-cache", 
"postman-token": "a9kb75b0-e03e-1234-94hi-62861c987654" 
}, 
"processData": false, 
"contentType": false, 
"mimeType": "multipart/form-data", 
"data": form 
} 
$.ajax(settings).done(function (response) { 
console.log(response); 
}); 

我如何轉換爲C#上面的代碼?

回答

0

創建Web客戶端:

WebClient client = new WebClient("https://lyncdiscover.contoso.com/"); 

所有其它信息可以作爲。例如:

client.Headers["User-Agent"] = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"; 
client.Headers["X-Requested-With"] = "XMLHttpRequest"; 
[...] 

讀結果:

string output;  

using(Stream data = client.OpenRead(args[0])) 
{ 
    using(StreamReader reader = new StreamReader(data)) 
    { 
     output = reader.ReadToEnd(); 
    } 
} 
+0

謝謝回覆。我有一個使用相同API的js代碼,我必須將相同的代碼轉換爲C#。我更新我的問題與JS代碼,請更新,如果你可以幫助。 – Chandikumar

+0

@Chandikumar在我的答案幫助下,您應該能夠在C#中實現請求。 Stackoverflow不是將代碼從一種語言轉換爲另一種語言。 –

+0

感謝您的建議和您的時間! – Chandikumar