0

我正在使用CurlSharp库来获取 HTTP。这是我目前得到的代码:

    static void Main(string[] args)
    {
        Curl.GlobalInit(CurlInitFlag.All);
        using (var easy = new CurlEasy())
        {
            easy.Url = "http://stackoverflow.com/";
            easy.FollowLocation = true;      
            easy.WriteData = null;
            easy.WriteFunction = OnWriteData;

            easy.Perform();
        }
    }

    public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData)
    {
        Console.Write(System.Text.Encoding.UTF8.GetString(buf));
        return size * nmemb;
    }

但是OnWriteData()是多次调用。是否可以附加buf字符串以获取所有 HTML 内容?

4

1 回答 1

0

我通过这样做找到了解决方案:

    public static string sContent;

    public static Int32 OnWriteData(Byte[] buf, Int32 size, Int32 nmemb, Object extraData)
    {
        string encoding = "UTF-8";
        sContent += System.Text.Encoding.GetEncoding(encoding).GetString(buf);
        return size * nmemb;
    }
于 2016-04-07T16:58:29.717 回答