Colección de citas famosas - Slogan de motivación - C#winform utiliza el método de publicación para enviar el nombre de usuario y la contraseña a la página URL especificada.

C#winform utiliza el método de publicación para enviar el nombre de usuario y la contraseña a la página URL especificada.

///<Summary>

///Crea una solicitud HTTP en modo POST.

///</summary>

///<nombre del parámetro = "url">URL solicitada

/ //& lt; = " parámetros " & gt Diccionario de nombres de parámetros y valores de parámetros publicados con la solicitud

///& lt nombre de parámetro = " timeout " & gt Tiempo de espera de la solicitud

///& lt; param name = " userAgent " & gtInformación solicitada del navegador del cliente, que puede estar vacía

///& lt; param name = " request encoding " & gt ;La codificación utilizada cuando enviando solicitudes HTTP

///<param name = "cookies">Si no se requiere autenticación, la información de la cookie enviada a través de la solicitud HTTP puede estar vacía

///< return></returns>

Respuesta web http estática pública createposhttpresponse(URL de cadena, IDictionary & ltstring, parámetros de cadena & gt, int? tiempo de espera, agente de usuario de cadena, codificación de solicitud de codificación, cookies CookieContainer)

{

if (String.IsNullOrEmpty(url))

{

Lanza una nueva ArgumentNullException(" URL ");

}

if (requestEncoding == null)

{

lanza New ArgumentNullException(" codificación de solicitud ");

}

Solicitud HttpWebRequest = null

//Si envía una solicitud HTTPS,

if ( URL . StartsWith ( " https " , StringComparison . Caso común))

{

ServicePointManager. ServerCertificateValidationCallback = nuevo RemoteCertificateValidationCallback(CheckValidationResult);

Solicitud = WebRequest. Cree (url) como una solicitud HttpWebRequest

. VersiónProtocolo = VersiónHttp. Versión 10;

}

Otro

{

Solicitud = WebRequest. Cree (url) como una solicitud HttpWebRequest

}

. Método = " POST

Solicitud. tipo de contenido = " aplicación/x-www-form-urlencoded ";

If (! String. IsNullOrEmpty(userAgent))

{

Solicitud UserAgent = userAgent

}

Otro

{

Solicitud.

UserAgent = DefaultUserAgent

}

if (timeout.hash)

{

solicitud. tiempo de espera = tiempo de espera. valor;

}

if (cookie!=null)

{

Solicitud. CookieContainer = cookies

//Solicitud. CookieContainer.Add(cookie);

}

//Si se requieren datos POST,

if (!(parameter==null||parameter.count = = 0))

{

StringBuilder buffer = new StringBuilder();

int I = 0;

foreach(parámetro clave de cadena.)

{

if (i & gt0)

{

buffer. anexar formato(&{0}={1} ",key,parameters[key]);

}

Otro

{

Buffer.AppendFormat("{0}={1} ",clave,parámetros[clave]);

}

i++;

}

Bytes[]Data = RequestEncoding. GetBytes(Buffer.ToString());

Use(Stream stream = Request.GetRequestStream())

{

Escribir(datos, 0, datos. longitud);

}

}

GetResponse () como HttpWebResponse

}

Bool estático privado CheckValidationResult (remitente del objeto, certificado X509Certificate, cadena X509Chain, errores SslPolicyErrors)

{

Devuelve verdadero//Siempre aceptar

}

}