Simple C# .NET 4.5 HTTPClient Request Using Basic Auth and Proxy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) + "..."); | |
} | |
} | |
} | |
} |
THANK YOU MAN!
Thank you very much.
Thank you very much, you saved my day
thankkk youuuu
It took me a while to find out how to encode the username and password into the authorization header, your code saved me a lot of trouble, thanks!
thanks!
Great Work?
Can you guide me
How to handle below json format using C# (with Authentication) - Post Method with Body(Raw)
{
"CustomerCode": "F101",
"CusReferenceNo": "3",
"StationName": "fsa",
"SalesmanId": "5",
"OrderStatus": "CLS",
"PostingDate": "2021-01-07",
"orderDetails":[
{
"ItemCode": "100-0001-00002",
"Quantity": "25000.000000",
}]
}
Appreciated, if you guide me and share sample code
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Not sure what gives but for what ever reason creating the task and running it in main with t.start() does nothing. I don't get any errors it just stops when it hits the closing {} of Main(string[] args). The only thing different I added was user input on user name and password and I added an encryption method .
So I have the Main(string[] args then I have the following
` public async Task EncodePass(string password)
{
Then I have
`static async void HTTP_GET()
{
}`