1

我正在使用以下代码获取网页。(抄自一位聪明的程序员。学习并停止讨厌 MSFT)。现在我有两个问题。

  1. 输出的格式是什么,即它是纯 HTML 还是 JSON
  2. 如果不是 JSON,那么如何将输出转换为 JSON 并导出为 CSV。

    namespace getre
    {
        class Class1
        {
            static void Main(string[] args)
            {
                string sURL;
                sURL = "http://www.tutorialspoint.com/csharp/csharp_basic_syntax.htm";
    
                WebRequest wrGETURL;
                wrGETURL = WebRequest.Create(sURL);
    
                WebProxy myProxy = new WebProxy("myproxy", 80);
                myProxy.BypassProxyOnLocal = true;
    
                wrGETURL.Proxy = WebProxy.GetDefaultProxy();
    
                Stream objStream;
                objStream = wrGETURL.GetResponse().GetResponseStream();
    
                StreamReader objReader = new StreamReader(objStream);
    
                string sLine = "";
                int i = 0;
    
                while (sLine != null)
                {
                    i++;
                    sLine = objReader.ReadLine();
                    if (sLine != null)
                        Console.WriteLine("{0}:{1}", i, sLine);
                }
                Console.ReadLine();
            }
        }
    }
    
4

1 回答 1

1

控制台应用程序的输出是一种自定义格式,由响应内容的每一行(不包括任何null行!?)的行号和行内容(由“:”分隔)组成。

如果要在处理之前检查内容类型,则可以插入以下行:

WebResponse response = wrGETURL.GetResponse();

string contentType = response.ContentType;

如果你很幸运,服务器/程序员会在目标网站的响应中设置它,它可能是“text/html”或“application/json”。

于 2013-07-03T15:25:02.717 回答