使用 cURL 从 shell 发布 4GB 文件

2024-05-09

我尝试将文件大小为 4GB 的文件发布到 REST API。

cURL 不会上传此大小的文件,而是 POST 内容长度为 0 的文件。

curl -v -i -d @"/work/large.png" -H "Transfer-Encoding: chunked" http://localhost:8080/files
* Adding handle: conn: 0x7fcafc00aa00
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x7fcafc00aa00) send_pipe: 1, recv_pipe: 0
* About to connect() to localhost port 8080 (#0)
*   Trying localhost...
* Connected to localhost (localhost) port 8080 (#0)
> POST /files HTTP/1.1
> User-Agent: curl/7.30.0
> Host: localhost:8080
> Accept: */*
> Transfer-Encoding: chunked
> Authorization: bearer XXX.XXX.XXX
> x-user-token: bearer XXX.XXX.XXX
* upload completely sent off: 5 out of 0 bytes
< HTTP/1.1 201 Created
HTTP/1.1 201 Created
< Date: Thu, 02 Jan 2014 14:55:46 GMT
Date: Thu, 02 Jan 2014 14:55:46 GMT
< ETag: "d41d8cd98f00b204e9800998ecf8427e"
ETag: "d41d8cd98f00b204e9800998ecf8427e"
< Location: http://localhost:8080/files/66032e34-9490-4556-8495-fb485ca12811
Location: http://localhost:8080/files/66032e34-9490-4556-8495-fb485ca12811
* Server nginx/1.4.1 is not blacklisted
< Server: nginx/1.4.1
Server: nginx/1.4.1
< Content-Length: 0
Content-Length: 0
< Connection: keep-alive
Connection: keep-alive

使用较小的文件将按预期工作。

-rw-r--r--  1 user1  wheel  4403200000  2 Jan 15:02 /work/large.png

为什么上传失败?那么,如何正确上传这样的文件呢?

Cheers.


我认为你应该考虑使用-T选项而不是--data-binary. The --data-binary将整个文件加载到内存中(curl 7.47)。最好的情况是速度很慢,最坏的情况是 OOM 杀手会回复Killed信息。

curl -XPOST -T big-file.iso https://example.com
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 cURL 从 shell 发布 4GB 文件 的相关文章

  • 如何在 .zip 文件中使用 grep

    有 3 个文件 a csv b csv c csv 压缩为 abh zip 现在可以在 abh zip 上执行 grep 命令 是否有任何通配符 仅对里面的 c csv 文件运行 grep压缩 如果你有zipgrep 据我所知 它是随zip
  • 是否可以为我的 Linux 函数复制命令的制表符补全?

    假设我有一个名为的 bash shell 函数magic 我想定义一个制表符补全功能 magic这将允许magic搭载任何给定命令的选项卡完成功能 如果可用 换句话说 我想要magic能够做这样的事情 magic git
  • Facebook - Curl 错误 SSL_CACERT SSL 证书

    我正进入 状态 Curl 错误 SSL CACERT SSL 证书问题 无法获取本地颁发者证书 当要求 Facebook刮我的页面 https developers facebook com tools debug sharing 通过 h
  • php-curl 不支持 url 中的 utf-8

    我正在尝试将 http 请求从我的服务器发送到 php 中的另一台服务器 例如 我发送请求的 URL 包含一些 utf8 字符http www aparat com etc api videoBySearch text http www a
  • 我收到错误“array.sh:3:array.sh:语法错误:”(“意外”

    我编写了以下代码 bin bash Simple array array 1 2 3 4 5 echo array 我收到错误 array sh 3 array sh 语法错误 意外 根据我从 Google 了解到的情况 这可能是因为 Ub
  • libcurl:我无法像浏览器一样快地下载网络资源

    如果您愿意 请检查这个简单的网页 http alvein freevar com http alvein freevar com这只是一个简单的画廊 里面有 1999 年的小图片 Chrome和Edge均完成满载10秒以下 缓存为空 像这样
  • 编写健壮的 shell 脚本有哪些规则?

    I recently erased part of my home directory with a shell script I wrote Fortunately I did hit Ctrl C fast enough to avoi
  • 如何在 R 中使用 Torocks5 getURL

    我想使用 TorgetURLR Tor 中的功能正在工作 在 Firefox 中检查 socks5 at port 9050 但是当我在 R 中设置它时 出现以下错误 html lt getURL http www google com f
  • 将cURL请求转换为node.js的请求

    这是我的有效 cURL 命令 curl https www example com api data jsonrpc 2 0 method getObjectsByFilter id 3 这是我在 Node js 中尝试过的 var url
  • shell 脚本中的 Telnet

    如何在 shell 脚本中运行 telnet 并在远程服务器上执行命令 出于安全原因 我没有在我的Solaris 机器上安装expect 我也没有perlnet telnet模块已安装 那么如果不使用expect和perl我该怎么办呢 我尝
  • PHP 中是否有相当于 subprocess 的东西?

    在 Java 和 Python 中 你有ProcessBuilder or 子流程 https docs python org 2 library subprocess html可让您使用未转义字符串轻松启动进程的模块 例如 ls some
  • Linux shell 根据第二列对文件进行排序?

    我有一个这样的文件 FirstName FamilyName Address PhoneNumber 如何按 FamilyName 排序 如果这是 UNIX sort k 2 file txt 您可以使用多个 k用于对多列进行排序的标志 例
  • PHP:CURL 可以遵循元重定向吗

    CURL 可以使用 CURLOPT FOLLOWLOCATION 遵循标头重定向 但是否可以遵循元刷新重定向 Thanks 是的 但您必须自己解析响应并查找类似以下内容 Obeying 刷新请求是浏览器端的事情 使用DOM解析来查找cURL
  • 如果文件没有行尾字符,则 wc -l 不计算文件的最后一个

    我需要计算 unix 文件的所有行数 该文件有 3 行 但是wc l仅给出 2 个计数 我知道它不计算最后一行 因为它没有行尾字符 任何人都可以告诉我如何计算这一行吗 grep c返回匹配行的数量 只需使用一个空字符串 作为您的匹配表达式
  • HTTPS 和 SSL3_GET_SERVER_CERTIFICATE:证书验证失败,CA 正常

    我在用XAMPP http www apachefriends org为发展 最近我将 xampp 的安装从旧版本升级到 1 7 3 现在 当我卷曲启用 HTTPS 的网站时 出现以下异常 致命错误 未捕获异常 RequestCore Ex
  • 在Java中执行.lnk文件

    我需要在java中执行 lnk文件 指向exe文件的lnk文件 我能怎么做 在 VB net 中我做 Process Start path 它有效 谢谢你的帮助 Use a 流程构建器 http download oracle com ja
  • Git - 显示远程分支的远程名称

    是否有一个 Git 命令可以显示远程分支的远程名称 目前 我坚持使用 shell utils 从远程分支引用中提取远程名称 例如 echo remote name branch name sed r s 1 remote name 有时出于
  • unix 下日期字段排序

    我有包含数十万条记录的文本文件 其中一个字段是日期字段 有没有办法根据日期字段对文件进行排序 09 APR 12 04 08 43 632279000 AM 19 MAR 12 03 53 38 189606000 PM 19 MAR 12
  • VBA Shell 并等待退出代码

    我正在打包一个办公应用程序 VBA 它调用 C 控制台应用程序来执行应用程序 大型模拟程序 的一些繁重工作 我希望能够让 VBA 应用程序等待控制台应用程序完成并从控制台应用程序检索退出代码 我已经能够做到前者 但尚未能够从应用程序中检索退
  • 类似 jq 中的 sql join

    我有以下 json id 1 type folder title folder 1 id 2 type folder title folder 2 id 3 type item title item 1 folder 1 id 4 type

随机推荐