Red de conocimiento informático - Computadora portátil - C# obtiene cookies a través del método de publicación HttpWebRequest

C# obtiene cookies a través del método de publicación HttpWebRequest

Proporcionándoles una nueva clase HttpRequest que he usado para asistencia en juegos comunitarios.

¿espacio de nombres?RainyManor.Common

{

público?clase?myHttpRequest

{

privado?CookieContainer?_cc?=?nuevo? CookieContainer();

público?myHttpRequest(CookieContainer?cc)

{

if?(cc!=?null)

_cc?=?cc;

}

¿público?CookieContainer?cookies

{

obtener?{?return?_cc;? }

}

¿privado?HttpWebRequest?GetRequest(cadena?uri,?cadena?método)

{

¿HttpWebRequest?request? =?(HttpWebRequest)WebRequest.Create(uri);

solicitud.Metodo?=?metodo;

solicitud.Accept?=?Resources.Accept;

request.UserAgent?=?Resources.UserAgent;

request.ContentType?=?Resources.ContentType;

request.KeepAlive?=?false;

request..ProtocolVersion?=?HttpVersion.Version10;

request.Timeout?=?20000;

return?request;

}

public?GetPageSource(string?url)

{

HttpWebRequest?request?=?GetRequest(url,?" get");

solicitud. CookieContainer?=?_cc;

return?GetStringFromRequest(request,?myEncoding.GB2312);

}

privado?string?GetStringFromRequest(HttpWebRequest?request, ?Codificación?encode)

{

intenta

{

Usar ?(HttpWebResponse)request.GetResponse())

{

Usar ?(Stream?stream?=?response.GetResponseStream())

{

Usar ?( StreamReader?reader?= ?new?StreamReader(stream,?encode))

{

return?string.Empty;

}

}

público?cadena?GetSourceByPost(cadena?url,?cadena?postD

ata)

{

prueba

{

byte[]?bytes?=?Encoding.ASCII.GetBytes(postData);

HttpWebRequest?request?=?GetRequest(url, ?" post");

request.CookieContainer?=?_cc;

Stream?sendStream?= ?request.GetRequestStream();

sendStream.Write(bytes,?0,?bytes.Length);

sendStream.Close();

retorno ?GetStringFromRequest(solicitud,?myEncoding.GB2312);

}

catch

{

return?GetSourceByPostAction(string?url, ?string?postData)

{

prueba

{

byte[]?bytes?GetBytes(postData);

HttpWebRequest?request?=?GetRequest(url, ?" post");

request.ContentType?=?" text/xml";

request.CookieContainer? =?_cc;

Stream?sendStream?=?request.GetRequestStream();

sendStream.Write(bytes,?0,?bytes.Length);

sendStream.Close();

return?GetStringFromRequest(request,?myEncoding.UTF8);

}

catch

{

regresar?"";

}

}

}

}

}

1.Recursos.Aceptar: imagen/gif, imagen/x-xbitmap, imagen/jpeg, imagen/pjpeg, aplicación/x-shockwave-flash, aplicación/vnd.ms-excel, application/vnd.ms-powerpoint、application/msword、application/x-ms-application、application/x-ms-xbap、application/xpsdocument、application/xaml xml、*/*

2. .Resources.UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2).

3.Resources.Content-Type: application/x-www-form-urlencoded4.