Faça uma solicitação da Web HTTP POST em C#
-
Faça uma solicitação da Web HTTP POST com a classe
WebClient
emC#
-
Faça uma solicitação da Web HTTP POST com a classe
HttpWebRequest
emC#
-
Faça uma solicitação da Web HTTP POST com a classe
HttpClient
emC#
Este tutorial discutirá métodos para fazer uma solicitação da Web HTTP POST em C#.
Faça uma solicitação da Web HTTP POST com a classe WebClient
em C#
A classe WebClient
fornece muitos métodos para enviar e receber dados de um URL em C#. Podemos fazer solicitações HTTP POST usando a função WebClient.UploadValues (url, valores)
da classe WebClient
em C#. O exemplo de código a seguir nos mostra como podemos fazer uma solicitação da Web HTTP POST simples com a classe WebClient
em C#.
using System.Net;
using System.Collections.Specialized;
var wb = new WebClient() var data = new NameValueCollection();
string url = "www.example.com" data["username"] = "myUser";
data["password"] = "myPassword";
var response = wb.UploadValues(url, "POST", data);
No código acima, criamos o cliente web wb
para enviar dados para a url
. Inicializamos a variável data
que queremos enviar para o url
. Fazemos o HTTP POST Web Request ao url
especificando POST
dentro dos parâmetros da função wb.UploadValues(url, "POST", data)
. A resposta do url
é salva dentro da variável reponse
.
Faça uma solicitação da Web HTTP POST com a classe HttpWebRequest
em C#
A classe HttpWebRequest
fornece métodos para interagir diretamente com o servidor usando o protocolo HTTP em C#. Podemos usar a HttpWebRequest.Method = "POST"
propriedade para especificar que uma solicitação da web HTTP é uma solicitação POST em C#. O exemplo de código a seguir nos mostra como fazer uma solicitação da web HTTP POST simples com a classe HttpWebRequest
em C#.
using System.Net;
using System.Text;
using System.IO;
string url = "http://www.example.com" var request = (HttpWebRequest)WebRequest.Create(url);
var postData = "username=" + Uri.EscapeDataString("myUser");
postData += "&password=" + Uri.EscapeDataString("myPassword");
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream()) {
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
No código acima, criamos a solicitação da web HTTP request
para o url
. Especificamos que request
é uma solicitação POST com a propriedade request.Method = "POST"
. Inicializamos os dados postData
que queremos enviar para o url
com a Uri.EscapeDataString()
função e codificamos os dados na variável de bytes data
. Especificamos o comprimento dos dados que queremos enviar para o url
com a propriedade request.ContentLength = data.Length
. No final, criamos um stream
e escrevemos os dados usando a função stream.Write()
. Capturamos a resposta do url
com a função request.GetResponse()
e armazenámo-la na classe HTTPWebResponse
object response
.
Faça uma solicitação da Web HTTP POST com a classe HttpClient
em C#
A classe HttpClient
fornece métodos para enviar solicitações HTTP e receber respostas HTTP em C#. Podemos fazer um pedido web HTTP POST com a função HttpClient.PostAsync(url, data)
onde url
é o URL e os dados
são os dados que queremos enviar para o url
. O exemplo de código a seguir nos mostra como fazer uma solicitação HTTP POST simples com a classe HttpClient
.
using System.Net.Http;
readonly HttpClient client = new HttpClient();
var values =
new Dictionary<string, string> { { "username", "myUser" }, { "password", "myPassword" } };
string url = "http://www.example.com" var data = new FormUrlEncodedContent(values);
var response = await client.PostAsync(url, data);
No código acima, criamos o cliente HTTP somente leitura client
e inicializamos o url
. Armazenamos os dados que queremos enviar para o url
no dicionário values
. Em seguida, convertemos os values
para o tipo application/x-www-form-urlencoded
com a função FormUrlEncodedContent()
. No final, fizemos uma solicitação da web HTTP POST com a função client.PostAsync(url, data)
e armazenamos a resposta da url
dentro da variável response
.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn