【问题标题】:C# CurlSharp EasyGet - How to get string resultC# CurlSharp EasyGet - 如何获取字符串结果
【发布时间】:2023-03-28 19:20:02
【问题描述】:

我正在使用此代码发出 EasyGet 请求。有人知道如何获取字符串结果吗?

using CurlSharp;
public static void CurlSharpGet(string url, bool useHttp2 = true)
    {
        Curl.GlobalInit(CurlInitFlag.All);

        try
        {
            if (useHttp2)
            {
                using (var easy = new CurlEasy())
                {
                    easy.Url = url;
                    easy.WriteFunction = OnWriteData;
                    easy.HttpVersion = CurlHttpVersion.Http2_0;
                    easy.SslVerifyPeer = false;
                    easy.SslVerifyhost = false;
                    easy.Perform();
                    Console.WriteLine(easy.Perform());
                }
            }
            else
            {
                using (var easy = new CurlEasy())
                {
                    easy.Url = url;
                    easy.WriteFunction = OnWriteData;
                    easy.Perform();
                    Console.WriteLine(easy.Perform());
                }
            }
        }
        finally
        {
            Curl.GlobalCleanup();
        }
    }

    public static Int32 OnWriteData(byte[] buf, Int32 size, Int32 nmemb, object data)
    {
        Console.Write(Encoding.UTF8.GetString(buf));
        return size * nmemb;
    }

理想情况下,我希望有这样的东西:

public static string CurlSharpGet(string url, bool useHttp2 = true)
    {
        //my fixed code here
    }

使用 httpclient 或 webresponse 无法完成我正在做的事情的性质。对于我应该如何让上述代码返回字符串结果的任何建议,我将不胜感激。谢谢

【问题讨论】:

  • 您只是想在CurlSharpGet 中将当前写入的内容返回到控制台吗?
  • 不,我应该省略那个 Console 行,我把它放在那里进行调试。我正在寻找请求的实际字符串结果。谢谢

标签: c# curl get libcurl


【解决方案1】:

如果您尝试从该方法中获取字符串结果,则必须将关键字 void 设置为 string。但我不认为那是你要问的,所以我在这里可能没用。

【讨论】:

  • 这应该作为问题的评论添加,而不是答案。我建议您在人们开始对您投反对票之前删除此答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-04
  • 1970-01-01
  • 2013-12-23
  • 1970-01-01
  • 2013-09-29
相关资源
最近更新 更多