![cURL 在尝试从 stdin 上传文件时挂起](https://linux22.com/image/1231584/cURL%20%E5%9C%A8%E5%B0%9D%E8%AF%95%E4%BB%8E%20stdin%20%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E6%97%B6%E6%8C%82%E8%B5%B7.png)
我正在尝试使用 cURL 来 PUT 文件。此操作挂起:
curl -vvv --digest -u 用户-T - https://example.com/file.txt <文件
这不会:
curl -vvv --digest -u 用户-T文件https://example.com/file.txt
这是怎么回事?
* 即将 connect() 至 example.com 端口 443 (#0) * 尝试 0.0.0.0... 已连接 * 连接到 example.com (0.0.0.0) 端口 443 (#0) * SSLv3、TLS 握手、客户端问候 (1): * SSLv3、TLS 握手、服务器问候 (2): * SSLv3、TLS 握手、CERT(11): * SSLv3、TLS 握手、服务器密钥交换 (12): * SSLv3,TLS 握手,服务器完成(14): * SSLv3、TLS 握手、客户端密钥交换 (16): * SSLv3、TLS 更改密码、客户端问候 (1): * SSLv3,TLS 握手,已完成(20): * SSLv3、TLS 更改密码、客户端问候 (1): * SSLv3,TLS 握手,已完成(20): * 使用 DHE-RSA-AES256-SHA 进行 SSL 连接 * 服务器证书: * 主题:serialNumber=jJakwdOewDicmqzIorLkKSiwuqfnzxF/,C=US,O=*.example.com,OU=GT01234567,OU=参见 www.example.com/resources/cps (c)10,OU=域控制验证 - ExampleSSL(R),CN=*.example.com * 开始日期:2010-01-26 07:06:33 GMT * 到期日期:2011-01-28 11:22:07 GMT * 通用名称:*.example.com (匹配) * 发行者:C=US、O=Equifax、OU=Equifax 安全证书颁发机构 * SSL 证书验证成功。 * 使用 Digest 和用户 'user' 进行服务器身份验证 > PUT /file.txt HTTP/1.1 > 用户代理:curl/7.19.4 (universal-apple-darwin10.0) libcurl/7.19.4 OpenSSL/0.9.8l zlib/1.2.3 > 主机:example.com > 接受:*/* > 传输编码:分块 > 预期:100-继续 > < HTTP/1.1 100 继续
答案1
在 cURL IRC 频道中与 Bagder 讨论了这个问题后,我发现这是一个 bug,现已提交。