WebClient client = new WebClient(); client.Headers.Set("Accept", "application/json"); client.Headers.Set("Content-Type", "application/json"); // this should handle basic auth client.Credentials = new NetworkCredential("username", "password"); var resultJson = client.UploadString(url,json);Another even easier way is to use Westwind.Utilities and you can do something like this:
[TestMethod] public void JsonRequestTest() { var settings = new HttpRequestSettings() { Url = "http://codepaste.net/recent?format=json", Credentials = new NetworkCredential("username","Password") }; var snippets = HttpUtils.JsonRequest<List<CodeSnippet>>(settings); Assert.IsNotNull(snippets); Assert.IsTrue(settings.ResponseStatusCode == System.Net.HttpStatusCode.OK); Assert.IsTrue(snippets.Count > 0); Console.WriteLine(snippets.Count); }It handles the HTTP Call and JSON conversion for you in one shot.
>private void SetRequestHeaders(string tcHost, string tcUserName, string tcPassword, int tnTimeout) > { > request = WebRequest.Create(tcHost) as HttpWebRequest; > request.Host = tcHost; > request.Headers.Remove("Accept"); > request.Headers.Add("Accept", "application/json"); > string authorizationKey = Convert.ToBase64String( > System.Text.ASCIIEncoding.ASCII.GetBytes( > string.Format("{0}:{1}", tcUserName, tcPassword))); > request.Headers.Add("Authorization", "Basic " + authorizationKey); > request.Timeout = tnTimeout * 1000; > }>
>"/integrationapi//Attraction/Tickets/Validate"
>>>>static async Task<HttpResponseMessage> GetResponse(TicketUsageRequests ticket, string apiUrl) >>> { >>> HttpResponseMessage response = await client.PostAsJsonAsync(apiUrl, ticket); >>> //response.EnsureSuccessStatusCode(); >>> >>> return response; >>> }>>>
>>>try >>> { >>> SetRequestHeaders(tcHost, tcUserName, tcPassword, tnTimeout, tnRetries); >>> >>> TicketUsageRequests ticket = new TicketUsageRequests(); >>> ticket.TicketBarcode = tcBarcode; >>> ticket.TicketUsageDate = tcUsageDate; >>> ticket.UserID = tcUserName; >>> >>> ... here I want to get the result of the response and parse it >>> >>> ... >>>>>>