【发布时间】: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 行,我把它放在那里进行调试。我正在寻找请求的实际字符串结果。谢谢