繁体   English   中英

UCWA的Rest API如何发送Get / POST请求

[英]Rest API for UCWA how to send Get/POST Requests

我必须在我的项目之一中使用UCWA rest APIS。 我必须发出GET请求并使用C#读取输出。

我收到的文档样本就像。

在自动发现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代码示例(来自Postman 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#?

创建Webclient:

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

所有其他信息都可以添加为Headers 例如:

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();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM