关于 libcurl 的问题

Questions about libcurl

因为我不会说英语,所以我用了翻译。 所以你说话的方式会很奇怪。请理解。

  1. 我从大邮件中读取了 link 并创建了一个程序来使用 libcurl 从邮​​件服务器下载文件。但是有些url无法下载。 当我在 Google 上查找它时,这是在 url 中包含某些字符时出现的问题,作为解决方案,我找到了一个答案,尝试将其包裹在 "(引号)周围输入 curl 命令。 事实上,当我将 url 括在引号中并输入命令时,下载正常进行。

我这里的问题是告诉我在设置(CURLOPT_URL, url) 在 libcurl 中。供您参考,我正在使用 go-curl(包裹在 Golang 中的 libcurl)。

  1. 使用上述程序下载文件时,存在韩语文件名下载文件名显示不正确的问题

即使我通过如下设置请求下载文件,文件名仍然无法正常显示。还有别的办法吗? easy.Setopt(curl.OPT_HTTPHEADER, []string{"Accept-Charset: utf-8"})

使用 libcurl 时不需要用引号引起来。您必须在 curl 中使用引号的原因是 shell 扩展。这仅适用于从命令行使用 curl;它不适用于 libcurl。

例如,当我使用 command-line、 中的 curl 时,我必须在 -H 选项的参数周围使用引号:

$ curl -H "Accept-Charset: utf-8" http://localhost:8080/

这是为了防止 shell 将 Accept-Charset: utf-8 分成两个单独的参数。但是,这对于 libcurl 不是必需的。

When downloading a file using the above program, there is a problem that the file name is not displayed properly when downloading the file name in Korean.

Curl 将从 URL 或 Content-Disposition header 中获取文件名,具体取决于调用 curl 的方式。您可能需要检查 headers 和 URL 以查看正确的文件名在哪里(它在 URL 中吗?它在 HTTP headers 中吗?)和弄清楚它使用什么编码。