HttpWebRequest.UserAgent está configurado, pero no funciona en respuesta
Frecuentes
Visto 931 veces
0
Estoy desarrollando una aplicación para Windows Phone 7.1.1
Estoy usando HttpWebRequest
para obtener el código HTML de un sitio web El problema es que siempre se obtiene la versión de "Escritorio" del código HTML Después de Google, descubro que está controlado por la cadena UserAgent
Entonces, puse el UserAgent
of HttpWebRequest
Pero aún no se obtiene la versión "Móvil" del código HTML
aqui esta mi codigo
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(link, UriKind.Absolute));
request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)";
request.BeginGetResponse(new AsyncCallback(ResponseReady), request);
Este es el código para ResponseReady
private void ResponseReady(IAsyncResult asyncResult)
{
try
{
HttpWebRequest request = asyncResult.AsyncState as HttpWebRequest;
HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult);
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
HtmlDocument htmlDocument = new HtmlDocument();
string result = reader.ReadToEnd();
blah blah blah
La respuesta es siempre la misma que no es UserAgent en absoluto (versión de escritorio)
1 Respuestas
0
mis problemas estan resueltos
Simplemente use el control WebViewer / WebBrowser para cargar el enlace. Luego use OuterHtml para obtener el código HTML de ese sitio web. Realmente simple Puede establecer la visibilidad de ese control en Contraer para ocultarlo en la pantalla
Respondido el 13 de enero de 13 a las 08:01
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# silverlight httpwebrequest windows-phone-7.1 or haz tu propia pregunta.
Qué exactamente ¿Qué quiere decir con "La respuesta es siempre la misma que no es UserAgent en absoluto (versión de escritorio)"? La frase no tiene sentido. También puede encontrar que la versión del sitio servido depende de más que el agente de usuario. Depende del sitio web individual, y no has dado ninguna indicación de eso... - Jon Skeet
¿Está seguro de que el servidor está configurado para devolver una versión móvil para ese UserAgent? - Jeff French
¿De qué sitio web está tratando de leer la información? Sabiendo eso, podemos ver cómo responde cuando lo probamos. - Frank van Puffelen
La cadena de resultado es la misma que request.UserAgent no está configurado (comente esa línea de código) El sitio web es un sitio web para adultos, por lo que tal vez no pueda publicarlo aquí. Pero probé con Google Chrome (con User-Agent Switcher Extension, pegué la misma cadena de UserAgent en él) y el sitio devolvió lo mismo que uso mi Windows Phone para navegar. - Tuan Tran
Algunos sitios usan m.blahblahblah.com para la versión móvil, algunos sitios usan blahblahblah.com/mobile para la versión móvil. Esto no es que escenarios. El sitio usa la misma dirección para ambos. Navegar en el escritorio y en el móvil me da diferentes diseños, enlaces y todo lo demás: Tuan Tran