2016-12-29 65 views
0

發佈數據網址我想用POST方法在C#中發送此數據如何使用C#

POST https://lyncweb.contoso.com/ucwa/oauth/v1/applications/103...740/onlineMeetings/ myOnlineMeetings HTTP/1.1 
Accept: application/json 
Content-Type: application/json 
Authorization: Bearer cwt=AAEB...buHc 
X-Ms-Origin: http://localhost 
X-Requested-With: XMLHttpRequest 
Referer: https://lyncweb.contoso.com/Autodiscover/XFrame/XFrame.html 
Accept-Language: en-US 
Accept-Encoding: gzip, deflate 
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Trident/6.0;.NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; InfoPath.3) 
Host: lyncweb.contoso.com 
Content-Length: 185 
DNT: 1 
Connection: Keep-Alive 
Cache-Control: no-cache 

{ 
"attendanceAnnouncementsStatus":"Disabled", 
"description":"hey guys let's do a musical!", 
"subject":"holiday party", 
"attendees": ["sip:[email protected]","sip:[email protected]"], 
"leaders": [] 
} 

請幫我寫C#桌面應用程序代碼。

+0

可以使用的HttpClient進行http請求。請參閱http://www.aglensmith.com/how-tos/2015/12/12/twitter-api-authentication/ – Brij

回答

0

您可以使用Restsharp這是一個lib,您可以從Nuget獲得。非常容易使用:

這裏有一個例子:

var client = new RestClient("http://example.com"); 
// client.Authenticator = new HttpBasicAuthenticator(username, password); 

var request = new RestRequest("resource/{id}", Method.POST); 
request.AddParameter("name", "value"); // adds to POST or URL querystring based on Method 
request.AddUrlSegment("id", "123"); // replaces matching token in request.Resource 

// easily add HTTP Headers 
request.AddHeader("header", "value"); 

// add files to upload (works with compatible verbs) 
request.AddFile(path); 

// execute the request 
IRestResponse response = client.Execute(request); 
var content = response.Content; // raw content as string 

// or automatically deserialize result 
// return content type is sniffed but can be explicitly set via RestClient.AddHandler(); 
RestResponse<Person> response2 = client.Execute<Person>(request); 
var name = response2.Data.Name; 

// easy async support 
client.ExecuteAsync(request, response => { 
    Console.WriteLine(response.Content); 
}); 

// async with deserialization 
var asyncHandle = client.ExecuteAsync<Person>(request, response => { 
    Console.WriteLine(response.Data.Name); 
}); 

// abort the request on demand 
asyncHandle.Abort();