kurly doesn't work with https://transfer.sh
I'm trying to upload a file to https://transfer.sh and the upload doesn't work:
$ kurly -v -T test.txt https://transfer.sh
* Trying 185.216.24.82...
* TCP_NODELAY set
* Connected to transfer.sh (185.216.24.82) port 443 (#0)
* APLN, server accepted to use http/1.1
* TLSv1.2, TLS Handshake finished
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* Server certificate:
* subject: CN=*.transfer.sh
* start date: Tue, 20 Jun 2017 00:00:00 UTC
* expire date: Wed, 20 Jun 2018 23:59:59 UTC
* issuer: C=GB; O=COMODO CA Limited; CN=COMODO RSA Domain Validation Secure Server CA
* SSL certificate verify ok.
> PUT HTTP/1.1
> User-Agent [Kurly/1.2.0]
> Accept [*/*]
> Host [transfer.sh]
> Expect [100-continue]
< HTTP/1.1 404 Not Found
< Content-Type [text/plain; charset=utf-8]
< Server [Transfer.sh HTTP Server 1.0]
< X-Content-Type-Options [nosniff]
< X-Made-With [<3 by DutchCoders]
< X-Served-By [Proudly served by DutchCoders]
< Date [Wed, 25 Apr 2018 19:58:40 GMT]
< Content-Length [10]
[<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<] 10 B/10 B
Not Found
The same file with curl:
$ curl -v -T test.txt https://transfer.sh
* Trying 185.216.24.82...
* TCP_NODELAY set
* Connected to transfer.sh (185.216.24.82) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: OU=Domain Control Validated; OU=PositiveSSL Wildcard; CN=*.transfer.sh
* start date: Jun 20 00:00:00 2017 GMT
* expire date: Jun 20 23:59:59 2018 GMT
* subjectAltName: host "transfer.sh" matched cert's "transfer.sh"
* issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO RSA Domain Validation Secure Server CA
* SSL certificate verify ok.
> PUT /test.txt HTTP/1.1
> Host: transfer.sh
> User-Agent: curl/7.59.0
> Accept: */*
> Content-Length: 2
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< Content-Type: text/plain
< Server: Transfer.sh HTTP Server 1.0
< X-Made-With: <3 by DutchCoders
< X-Served-By: Proudly served by DutchCoders
< Date: Wed, 25 Apr 2018 20:02:16 GMT
< Content-Length: 34
<
* Connection #0 to host transfer.sh left intact
Looks like the problem is in Expect [100-continue].