0
private string downloadContent()
        {
            try
            {
                WebRequest request = WebRequest.Create(url);
                request.Method = "GET";
                response = request.GetResponse();
                Stream stream = response.GetResponseStream();
                reader = new StreamReader(stream);
                string content = reader.ReadToEnd();
                return content;
            }
            catch
            {
                return error;
            }

        }

结果是:

14/08/2012 22:22:11===> ��'���� ����  ���� ������ ���� ������ ������
14/08/2012 22:22:11===> ������ ������ 14/08/2012
14/08/2012 22:22:11===> ������� ���� �������� ����� ��� ������ ���� �� 2 ������
14/08/2012 22:22:11===> ��'��� ��'��� ��� ������ �''�
14/08/2012 22:22:11===> ''�� ������ ����� �� ��� ������� �����''
14/08/2012 22:22:11===> ��� ������ ������: ������ �� ����� ��� ��� �� ��������
14/08/2012 22:22:11===> ���: ����� ��� ��� ���� �� ����-����� ���� ����� �� ����
14/08/2012 22:22:11===> ��''�: ��'���� ������ ����� ����� ����� ������� ������� ��-������
14/08/2012 22:22:11===> ����� ���� ��� ����� �� ���� ���� ���� ���� ������
14/08/2012 22:22:11===> ����� ���� ������ �������: ''����� ������ �� ���� 2013''
14/08/2012 22:22:11===> ���� ������ �����: ���� ���� ������� ������
14/08/2012 22:22:11===> ��� ���: ���� ������ ����� �� ������ ���������� ���� ����� ������- ������ ����..

虽然网站页面的来源是这样的:

<TD ALIGN="RIGHT" VALIGN="TOP">&nbsp;<font size=-1 color=#ff9933><b>3077</b></font>&nbsp;</TD></TR><TR BGCOLOR="#FDFDFD">
<TD ALIGN="RIGHT" VALIGN="TOP">
<body onmousemove="overhere()">
<a  onmouseover="EnterContent('ToolTip','פיקוד העורף יערוך ביומיים הקרובים 5 תרגילים בצפון','<u><span style=color:#000099;>כתב: Bloops   בתאריך: 14.08.12  שעה: 21:39</span></u><br>פיקוד העורף יקיים מחר (רביעי) ומחרתיים מספר תרגילים באזור טבריה, עפולה, מגדל העמק ונצרת. מחר בבוקר יתקיים תרגיל המדמה נפילת טילים באזור כלא גלבוע במוע...'); Activate();" onmouseout="deActivate()" href="javascript:void(0)"> 
<img src="http://rotter.net/forum/Images/new_icon_general.gif" border="0"></a></TD><TD ALIGN="right" VALIGN="TOP" WIDTH="55%">
<FONT CLASS='text15bn'><FONT FACE="Arial">
<a href="http://rotter.net/cgi-bin/forum/dcboard.cgi?az=read_count&om=18520&forum=scoops1"><b>פיקוד העורף יערוך ביומיים הקרובים 5 תרגילים בצפון</b>   
</a></font></TD>
      <TD ALIGN="CENTER" VALIGN="TOP">
      <FONT SIZE="2" COLOR="#000099" 
      FACE="Arial"><font size=1 color=000099>14.08.12&nbsp;&nbsp;<font size=1 color=red>21:39</font><br>
       <a href="http://rotter.net/cgi-bin/forum/dcboard.cgi?az=user_profiles&user=Bloops"><font CLASS='text13'><b>Bloops</b></font></a></FONT></TD>      
      <TD ALIGN="CENTER" VALIGN="TOP"><FONT SIZE="1" 
      COLOR="#000099" FACE="Arial">14.08.12<font color="#FDFDFD" size="1">&nbsp;&nbsp;</font><font color=red>21:39</font> <br>מאת Bloops</FONT></TD>
      <TD ALIGN="CENTER" VALIGN="TOP"><FONT 
      SIZE="2" COLOR="#000099" FACE="Arial"><b>0
</b></FONT></TD>

         <TD ALIGN="RIGHT" VALIGN="TOP">&nbsp;<font size=-1 color=#ff9933><b>בעדכון</b></font>&nbsp;</TD></TR><TR BGCOLOR="#eeeeee">
<TD ALIGN="RIGHT" VALIGN="TOP">
<body onmousemove="overhere()">
<a  onmouseover="EnterContent('ToolTip','תשואה&rsquo;&rsquo; מדהימה למדינה: כל מצלמת מהירות עולה 180 א&rsquo; ש&rsquo;ח','<u><span style=color:#000099;>כתב: elbaz   בתאריך: 14.08.12  שעה: 19:35</span></u><br>עמוד &quot;דחליל&quot; עולה 140 א&rsquo; ש&rsquo; ותפעול - 22 מיליון שקל; הרווח מהדוחות? מאות מיליונים בשנה<br>עמוד ריק עולה כמו ניידת משטרה חדשה &#96...'); Activate();" onmouseout="deActivate()" href="javascript:void(0)"> 
<img src="http://rotter.net/forum/Images/new_icon_general.gif" border="0"></a></TD><TD ALIGN="right" VALIGN="TOP" WIDTH="55%">
<FONT CLASS='text15bn'><FONT FACE="Arial">
<a href="http://rotter.net/cgi-bin/forum/dcboard.cgi?az=read_count&om=18489&forum=scoops1"><b>תשואה'' מדהימה למדינה: כל מצלמת מהירות עולה 180 א' ש'ח</b>      
</a></font></TD>
      <TD ALIGN="CENTER" VALIGN="TOP">
      <FONT SIZE="2" COLOR="#000099" 
      FACE="Arial"><font size=1 color=000099>14.08.12&nbsp;&nbsp;<font size=1 color=red>19:35</font><br>
       <a href="http://rotter.net/cgi-bin/forum/dcboard.cgi?az=user_profiles&user=elbaz"><font CLASS='text13'><b>elbaz</b></font></a></FONT></TD>      
      <TD ALIGN="CENTER" VALIGN="TOP"><FONT SIZE="1" 
      COLOR="#000099" FACE="Arial">14.08.12<font color="#eeeeee" size="1">&nbsp;&nbsp;</font><font color=red>21:38</font> <br>מאת גדליה הפיל</FONT></TD>
      <TD ALIGN="CENTER" VALIGN="TOP"><FONT 
      SIZE="2" COLOR="#000099" FACE="Arial"><b>4
</b></FONT></TD>

我正在下载标签之间的文本:

private void GetText(string text)
        {
            names = new List<string>();
            string startTag = "forum=scoops1\"><b>";
            string endTag = "</b>";
            int startTagWidth = startTag.Length;
            int endTagWidth = endTag.Length;
            index = 0;
            while (true)
            {
                index = text.IndexOf(startTag, index);
                if (index == -1)
                {
                    break;
                }
                // else more to do - index now is positioned at first character of startTag 
                int start = index + startTagWidth;
                index = text.IndexOf(endTag, start + 1);
                if (index == -1)
                {
                    break;
                }
                // found the endTag 
                profileName = text.Substring(start, index - start);
                names.Add(profileName);
            }
        }

而文本是网站页面的内容来源。

问题是为什么我得到这个符号而不是文本,如果有修复它?

我在另一个没有这个问题的网站上使用相同的代码。

4

1 回答 1

2

您需要使用正确的编码才能读取返回的流值。

确保您使用与页面相同的编码(将在 HTTP 标头中或meta页面上的元素中 -content-type页面的)。

使用该编码来获得正确的字节字符串表示。

于 2012-08-14T19:35:57.993 回答