标签: curl

使用 cURL 从 FTP 下载文件

我正在尝试使用 cURL 命令将文件从 FTP 服务器下载到我计算机上的本地驱动器。我试过了

curl " ftp://myftpsite " --user name:password -Q "CWD /users/myfolder/" -O "myfile.raw"

但它返回一个错误,指出:

curl:远程文件名没有长度!
curl:尝试“curl --help”或“curl --manual”以获取更多信息
curl:(6)无法解析主机:myfile.raw;没有请求类型的数据记录

我尝试了其他一些方法,但似乎没有任何效果。

另外,我不太确定如何指定我希望将文件下载到哪个文件夹。我该怎么做?

ftp download curl

28
推荐指数
1
解决办法
10万
查看次数

libcurl 不支持或禁用“http”

我正在尝试运行curl命令并收到此错误:

'http" not supported or disabled in libcurl
Run Code Online (Sandbox Code Playgroud)

我查看了我的位置curl.exe,找到C:\Program Files\GDAL并删除了它。

错误仍然存​​在。这是curl.exeC:\Anaconda3\Library\bin,所以我也删除了它。

错误仍然存​​在。有一个更curl.exe$PATH

所以错误与可执行文件无关。我该如何解决?

windows curl windows-10

27
推荐指数
1
解决办法
3万
查看次数

如何在 cURL 中传递我的 Windows 凭据?

我正在编写一个脚本,该脚本使用 cURL 从内部 Web 服务器中提取数据。我可以明确地将 --user 与 --ntlm 结合使用,并且一切正常,但我无法让它识别登录的人并透明地传递它。如果我在 Chrome/Firefox/IE 中访问同一个站点,它会立即授予我权限而没有任何提示(如果这很重要,我们将在此处使用代理)。服务器正在使用 IIS。

iis webserver curl

23
推荐指数
2
解决办法
3万
查看次数

OSX 上的 ca 证书包在哪里?

我正在调试一些 curl ssl 配置内容,并想知道在 OSX 上安装 ca cert 包的位置。

curl macos

22
推荐指数
2
解决办法
3万
查看次数

curl 使用什么单位表示带宽?

curl 在命令行上显示这样的进度:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  8 1000M    8 85.2M    0     0    57k      0  1:06:13  0:05:38  1:00:35   47k
Run Code Online (Sandbox Code Playgroud)

本例中显示的速度为47k。但是,这是什么意思?这是:

  • 47KiB,即 47 * 1024 字节
  • 47kB,即47*1000字节
  • 47kb,即47*1000位(位常用于衡量速度)

是吗:

  • 每秒
  • 或每分钟?

curl

22
推荐指数
1
解决办法
1万
查看次数

使用 curl 持续重试恢复下载

我在 mac 上,有一个我想从 ftp 服务器下载的文件列表。连接有点问题,所以我希望它在连接断开时重试并恢复。

我知道我可以用 wget 做到这一点,但不幸的是 Mac OS X 没有 wget。我可以安装它,但要做到这一点(除非我遗漏了一些东西),我需要先安装 XCode 和 MacPorts,我想避免这种情况。

Curl 虽然看起来是可用的,但我不知道它是如何工作的或如何真正使用它。如果我在文本文件中有一个文件列表(每行一个完整路径,例如ftp://user:pass@server/dir/file1),我如何使用 curl 下载所有这些文件?我可以让卷曲永不放弃吗?比如,无限重试并从停止的地方继续下载等等?

mac unix download wget curl

19
推荐指数
1
解决办法
1万
查看次数

告诉 cUrl 不要规范化 url

当使用 curl 调用某个 url 时,它简化了 url 中的路径(例如 from /a/../bto /b)。我怎么能告诉 cUrl 不要这样做?

$ curl -V
curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

$ curl -v 'localhost/a/../b'
* Rebuilt URL to: localhost/b
Run Code Online (Sandbox Code Playgroud)

url curl

18
推荐指数
1
解决办法
1万
查看次数

如何通过 curl 获取和使用证书

  1. 输入以下命令

    curl -k email@mail.com:password https://www.example.com 
    
    Run Code Online (Sandbox Code Playgroud)

    返回以下错误

     <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    <TITLE>301 Moved</TITLE></HEAD><BODY>
    <H1>301 Moved</H1>
    The document has moved
    <A HREF="http://mail.google.com/mail/">here</A>.
    </BODY></HTML>
    badauth
    
    Run Code Online (Sandbox Code Playgroud)
  2. cacert.crt从这里下载文件后

    http://www.cacert.org/index.php?id=3
    
    Run Code Online (Sandbox Code Playgroud)

    然后将cacert.crt文件重命名为cacert.pem

    然后尝试:

    curl --cacert /path/to/cacert.pem email@mail.com:password https://www.example.com 
    
    Run Code Online (Sandbox Code Playgroud)

    但得到同样的错误。

  3. 然后尝试:

    curl  https://www.example.com 
    
    Run Code Online (Sandbox Code Playgroud)

    我收到这个错误

    curl: (60) SSL 证书问题:无法获得本地颁发者证书 更多详情请点击:http : //curl.haxx.se/docs/sslcerts.html

    curl 默认使用证书颁发机构 (CA) 公钥 (CA 证书) 的“捆绑”执行 SSL 证书验证。如果默认包文件不够用,您可以使用 --cacert 选项指定备用文件。
    如果此 HTTPS 服务器使用由捆绑中表示的 CA 签署的证书,则证书验证可能因证书问题而失败(它可能已过期,或者名称可能与 URL 中的域名不匹配)。
    如果您想关闭 curl 对证书的验证,请使用 -k(或 --insecure)选项

  4. 所以我试过 -k

    curl  -k https://www.example.com 
    
    Run Code Online (Sandbox Code Playgroud)

    但当然得到错误

    Badauth

我猜我的证书文件有问题,但我不知道从哪里获取证书文件,或者一旦我有了它怎么处理它。

我当然使用浏览器登录没有问题,但我想使用命令行自动执行此过程,以便我可以通过 WiFi …

certificate curl

16
推荐指数
1
解决办法
8万
查看次数

如何从终端的重定向 URL 远程获取文件?

我想从终端获取这个 python 库的 tarball。 https://github.com/simplegeo/python-oauth2/downloads

但是,我不能简单地调用

wget https://github.com/simplegeo/python-oauth2/tarball/master
Run Code Online (Sandbox Code Playgroud)

因为这样做会检索网页。如何从终端获取此资源?

linux terminal download wget curl

15
推荐指数
1
解决办法
1万
查看次数

使用 CURL 发布文件内容

(以下是背景故事,如果您愿意,可以跳到“问题:”)

我的一门课程有一个网页,它接受输入文本(预计是 Python 代码),然后给出一些标记化的响应。它旨在用作我们正在编写的 Python 词法分析器的参考。我正在尝试自动化我的测试过程,并且能够在不打开浏览器、来回复制文本等的情况下检查我的代码。所以这就是我想要做的:

我有一个名为“x.py”的示例 python 文件,我想将它发布到服务器,就好像我已经填写了该表格一样。我试过了:

curl --data-urlencode "file=@x.py" http://matt.might.net/apps/pylex/pylex.php
Run Code Online (Sandbox Code Playgroud)

但不幸的是,这行不通,因为显然"@x.py"是作为我的文件内容发布的(也就是说,"file=@x.py"是发布的内容,而不是"file=<contents-of-x.py>")。我试过了--form--data但那些也没有用。

问题: 具体来说,如果我有一个包含非 url 编码内容的文件,并且该文件的内容需要成为 POST 的一部分并与特定名称(在本例中为file)相关联,那么完成此操作的正确方法是什么?

linux curl macos

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

curl ×10

download ×3

linux ×2

macos ×2

wget ×2

certificate ×1

ftp ×1

iis ×1

mac ×1

terminal ×1

unix ×1

url ×1

webserver ×1

windows ×1

windows-10 ×1