none
HtmlAgilityPack: Problema di encoding? RRS feed

  • Domanda

  • Ciao a tutti, sto leggendo una pagina web con HtmlAgilityPack nella mia Windows Store App.

    string result = await Dati(pathInternet);

    var doc = new HtmlAgilityPack.HtmlDocument();

    doc.LoadHtml(result);

    ... 

    async Task<string> Dati(string path)
    {
    	using (var client = new HttpClient())
    	{  
    		var dati = await client.GetStringAsync(path);  
    		return dati.Trim(); 
    	}
    }

    A volte nella variabile "result" trovo regolarmente il codice HTML, a volte questo codice:

    "�\b\0\0\0\0\0\0�;�r�ƒ�d���\t��F$x�DR\"N)�,�d{E%��R)���A\0�\0�}�>�'�/l���F�%Y�M�H\fz�{zz������}�ӻ���|J�\\_^�գy�p�K��Pc�\vQ2����~����v�{���]�4bɫ��O����5�!g�0����� ��p=>�N�b���mcJ-6���\r�_�f�gL'\v�T����]�$85��w�:ADxh�H�\a��1����h�p��\fיp���1\v�V��h������f�YAԮ�}$,Q���\\#�M��8�g�\fߴp�����j<�s�3iD�����O�+�n�?�����Oa/����ߧt�w�cN�A��܅�ND]��=h6uADψ�W=�U�IDqmx,�=ڀ��x���=A\rY��[��3:�6�0�b��\v3�D}\n��ȇ}��S�ؘ�@��\r��Z�j�0���R����xȘr����l���R�oi:~8B��;;�s\th����m��-9�G�D��}�;J�Q�������GN�Pw<���쮁'��b���y�o����O�E�{p�jKT�?;�)+��T��%-P�����R݈����ofq/����s�F)�#��7����Q�e|�̳ͯ��o���®Tr�;+;���0�X�(��Yx�XL���.j��X��ْ7C����űm�#�q6��j�E�A<���{\a�^��9ht���&�N<�������kp{Ύ3F��'�K�QD#>~#Td�>��W�l!C�Cs�\aODr�n4�1�\"�_��`�q�OH�f�5?���\a�\0΅����cR'lF�9Z0�Q\"@���,�'�#\bGxDA�'�\"�#GF�F�\\3k���?�pdH\nգ�S"

    Secondo voi è un problema di encoding?

    sabato 18 ottobre 2014 17:09

Risposte

  • OK, il test con altre URL è più che sufficiente.

    Prova ad utilizzare questo codice:

    async Task<string> Dati(string path)
    {
        using (var client = new HttpClient())
        {
            var response = await client.GetAsync(path);
            var statusCode = response.StatusCode;
    
            var dati = await response.Content.ReadAsStringAsync();
            return dati.Trim();
        }
    }
    In particolare, con questa modifica puoi recuperare lo status code della risposta, così puoi verificare cosa ottieni quando la risposta è quella errata che hai mostrato nel primo post.


    Marco Minerva - MVP Visual C#
    Blog: http://marcominerva.wordpress.com
    Twitter: @marcominerva

    lunedì 20 ottobre 2014 15:12

Tutte le risposte