Skip to content

Instantly share code, notes, and snippets.

@bryanbarnard
Created December 23, 2013 19:15
Show Gist options
  • Save bryanbarnard/8102915 to your computer and use it in GitHub Desktop.
Save bryanbarnard/8102915 to your computer and use it in GitHub Desktop.

Revisions

  1. bryanbarnard created this gist Dec 23, 2013.
    56 changes: 56 additions & 0 deletions SimpleHttpClient.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,56 @@
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Net.Http;
    using System.Net;


    namespace HTTP_Test
    {
    class program
    {
    static void Main()
    {
    Task t = new Task(HTTP_GET);
    t.Start();
    Console.ReadLine();
    }

    static async void HTTP_GET()
    {
    var TARGETURL = "http://en.wikipedia.org/";

    HttpClientHandler handler = new HttpClientHandler()
    {
    Proxy = new WebProxy("http://127.0.0.1:8888"),
    UseProxy = true,
    };

    Console.WriteLine("GET: + " + TARGETURL);

    // ... Use HttpClient.
    HttpClient client = new HttpClient(handler);

    var byteArray = Encoding.ASCII.GetBytes("username:password1234");
    client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));

    HttpResponseMessage response = await client.GetAsync(TARGETURL);
    HttpContent content = response.Content;

    // ... Check Status Code
    Console.WriteLine("Response StatusCode: " + (int)response.StatusCode);

    // ... Read the string.
    string result = await content.ReadAsStringAsync();

    // ... Display the result.
    if (result != null &&
    result.Length >= 50)
    {
    Console.WriteLine(result.Substring(0, 50) + "...");
    }
    }
    }
    }