目次
文書の過去の版を表示しています。
cURL - クライアントサイドURL転送ライブラリ
※日本では明治製菓の「おやつはカール」がイメージです❓😅💦💦💦 チーズ味最高です💕
cURL (カール) は、さまざまなプロトコルを用いてデータを転送するライブラリとコマンドラインツールを提供するプロジェクトである。cURL プロジェクトは libcurl と curl の2つの成果を生んでいる。
本家: curl
ソースコード: curl/curl: A command line tool and library for transferring data with URL syntax, supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, MQTT, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad of powerful features
TODO: 詳細は必要に応じて追記していきます😅💦💦💦
インストール
Fedora では既にインストール済みである🤔
$ sudo dnf install curl
メタデータの期限切れの最終確認: 0:51:27 時間前の 2023年03月26日 15時25分57秒 に実施しました。 パッケージ curl-7.85.0-7.fc37.x86_64 は既にインストールされています。 依存関係が解決しました。 行うべきことはありません。 完了しました!
動作確認🤤
$ curl -V
curl 7.85.0 (x86_64-redhat-linux-gnu) libcurl/7.85.0 OpenSSL/3.0.8 zlib/1.2.12 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.1 (+libidn2/2.3.3) libssh/0.10.4/openssl/zlib nghttp2/1.51.0 Release-Date: 2022-08-31 Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets
コマンドライン オプション
バージョン表示 [-V, --version]
$ curl --version
curl 7.85.0 (x86_64-redhat-linux-gnu) libcurl/7.85.0 OpenSSL/3.0.8 zlib/1.2.12 brotli/1.0.9 libidn2/2.3.4 libpsl/0.21.1 (+libidn2/2.3.3) libssh/0.10.4/openssl/zlib nghttp2/1.51.0 Release-Date: 2022-08-31 Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL threadsafe TLS-SRP UnixSockets
or
$ curl --version
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL Release-Date: 2017-11-14, security patched: 2019-11-05 Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL
ヘルプ [-h, --help]
$ curl -h
Usage: curl [options...] <url> -d, --data <data> HTTP POST data -f, --fail Fail fast with no output on HTTP errors -h, --help <category> Get help for commands -i, --include Include protocol response headers in the output -o, --output <file> Write to file instead of stdout -O, --remote-name Write output to a file named as the remote file -s, --silent Silent mode -T, --upload-file <file> Transfer local FILE to destination -u, --user <user:password> Server user and password -A, --user-agent <name> Send User-Agent <name> to server -v, --verbose Make the operation more talkative -V, --version Show version number and quit This is not the full help, this menu is stripped into categories. Use "--help category" to get an overview of all categories. For all options use the manual or "--help all".
curl コマンドは機能があり過ぎです😅💦💦💦
$ curl -h all
Usage: curl [options...] <url> -d, --data <data> HTTP POST data -f, --fail Fail fast with no output on HTTP errors -h, --help <category> Get help for commands -i, --include Include protocol response headers in the output -o, --output <file> Write to file instead of stdout -O, --remote-name Write output to a file named as the remote file -s, --silent Silent mode -T, --upload-file <file> Transfer local FILE to destination -u, --user <user:password> Server user and password -A, --user-agent <name> Send User-Agent <name> to server -v, --verbose Make the operation more talkative -V, --version Show version number and quit This is not the full help, this menu is stripped into categories. Use "--help category" to get an overview of all categories. For all options use the manual or "--help all". [tomoyan@WICKED-BEAT development]$ curl -h all Usage: curl [options...] <url> --abstract-unix-socket <path> Connect via abstract Unix domain socket --alt-svc <file name> Enable alt-svc with this cache file --anyauth Pick any authentication method -a, --append Append to target file when uploading --aws-sigv4 <provider1[:provider2[:region[:service]]]> Use AWS V4 signature authentication --basic Use HTTP Basic Authentication --cacert <file> CA certificate to verify peer against --capath <dir> CA directory to verify peer against -E, --cert <certificate[:password]> Client certificate file and password --cert-status Verify the status of the server cert via OCSP-staple --cert-type <type> Certificate type (DER/PEM/ENG/P12) --ciphers <list of ciphers> SSL ciphers to use --compressed Request compressed response --compressed-ssh Enable SSH compression -K, --config <file> Read config from a file --connect-timeout <fractional seconds> Maximum time allowed for connection --connect-to <HOST1:PORT1:HOST2:PORT2> Connect to host -C, --continue-at <offset> Resumed transfer offset -b, --cookie <data|filename> Send cookies from string/file -c, --cookie-jar <filename> Write cookies to <filename> after operation --create-dirs Create necessary local directory hierarchy --create-file-mode <mode> File mode for created files --crlf Convert LF to CRLF in upload --crlfile <file> Use this CRL list --curves <algorithm list> (EC) TLS key exchange algorithm(s) to request -d, --data <data> HTTP POST data --data-ascii <data> HTTP POST ASCII data --data-binary <data> HTTP POST binary data --data-raw <data> HTTP POST data, '@' allowed --data-urlencode <data> HTTP POST data URL encoded --delegation <LEVEL> GSS-API delegation permission --digest Use HTTP Digest Authentication -q, --disable Disable .curlrc --disable-eprt Inhibit using EPRT or LPRT --disable-epsv Inhibit using EPSV --disallow-username-in-url Disallow username in URL --dns-interface <interface> Interface to use for DNS requests --dns-ipv4-addr <address> IPv4 address to use for DNS requests --dns-ipv6-addr <address> IPv6 address to use for DNS requests --dns-servers <addresses> DNS server addrs to use --doh-cert-status Verify the status of the DoH server cert via OCSP-staple --doh-insecure Allow insecure DoH server connections --doh-url <URL> Resolve host names over DoH -D, --dump-header <filename> Write the received headers to <filename> --egd-file <file> EGD socket path for random data --engine <name> Crypto engine to use --etag-compare <file> Pass an ETag from a file as a custom header --etag-save <file> Parse ETag from a request and save it to a file --expect100-timeout <seconds> How long to wait for 100-continue -f, --fail Fail fast with no output on HTTP errors --fail-early Fail on first transfer error, do not continue --fail-with-body Fail on HTTP errors but save the body --false-start Enable TLS False Start -F, --form <name=content> Specify multipart MIME data --form-escape Escape multipart form field/file names using backslash --form-string <name=string> Specify multipart MIME data --ftp-account <data> Account data string --ftp-alternative-to-user <command> String to replace USER [name] --ftp-create-dirs Create the remote dirs if not present --ftp-method <method> Control CWD usage --ftp-pasv Use PASV/EPSV instead of PORT -P, --ftp-port <address> Use PORT instead of PASV --ftp-pret Send PRET before PASV --ftp-skip-pasv-ip Skip the IP address for PASV --ftp-ssl-ccc Send CCC after authenticating --ftp-ssl-ccc-mode <active/passive> Set CCC mode --ftp-ssl-control Require SSL/TLS for FTP login, clear for transfer -G, --get Put the post data in the URL and use GET -g, --globoff Disable URL sequences and ranges using {} and [] --happy-eyeballs-timeout-ms <milliseconds> Time for IPv6 before trying IPv4 --haproxy-protocol Send HAProxy PROXY protocol v1 header -I, --head Show document info only -H, --header <header/@file> Pass custom header(s) to server -h, --help <category> Get help for commands --hostpubmd5 <md5> Acceptable MD5 hash of the host public key --hostpubsha256 <sha256> Acceptable SHA256 hash of the host public key --hsts <file name> Enable HSTS with this cache file --http0.9 Allow HTTP 0.9 responses -0, --http1.0 Use HTTP 1.0 --http1.1 Use HTTP 1.1 --http2 Use HTTP 2 --http2-prior-knowledge Use HTTP 2 without HTTP/1.1 Upgrade --http3 Use HTTP v3 --ignore-content-length Ignore the size of the remote resource -i, --include Include protocol response headers in the output -k, --insecure Allow insecure server connections --interface <name> Use network INTERFACE (or address) -4, --ipv4 Resolve names to IPv4 addresses -6, --ipv6 Resolve names to IPv6 addresses --json <data> HTTP POST JSON -j, --junk-session-cookies Ignore session cookies read from file --keepalive-time <seconds> Interval time for keepalive probes --key <key> Private key file name --key-type <type> Private key file type (DER/PEM/ENG) --krb <level> Enable Kerberos with security <level> --libcurl <file> Dump libcurl equivalent code of this command line --limit-rate <speed> Limit transfer speed to RATE -l, --list-only List only mode --local-port <num/range> Force use of RANGE for local port numbers -L, --location Follow redirects --location-trusted Like --location, and send auth to other hosts --login-options <options> Server login options --mail-auth <address> Originator address of the original email --mail-from <address> Mail from this address --mail-rcpt <address> Mail to this address --mail-rcpt-allowfails Allow RCPT TO command to fail for some recipients -M, --manual Display the full manual --max-filesize <bytes> Maximum file size to download --max-redirs <num> Maximum number of redirects allowed -m, --max-time <fractional seconds> Maximum time allowed for transfer --metalink Process given URLs as metalink XML file --negotiate Use HTTP Negotiate (SPNEGO) authentication -n, --netrc Must read .netrc for user name and password --netrc-file <filename> Specify FILE for netrc --netrc-optional Use either .netrc or URL -:, --next Make next URL use its separate set of options --no-alpn Disable the ALPN TLS extension -N, --no-buffer Disable buffering of the output stream --no-clobber Do not overwrite files that already exist --no-keepalive Disable TCP keepalive on the connection --no-npn Disable the NPN TLS extension --no-progress-meter Do not show the progress meter --no-sessionid Disable SSL session-ID reusing --noproxy <no-proxy-list> List of hosts which do not use proxy --ntlm Use HTTP NTLM authentication --ntlm-wb Use HTTP NTLM authentication with winbind --oauth2-bearer <token> OAuth 2 Bearer Token -o, --output <file> Write to file instead of stdout --output-dir <dir> Directory to save files in -Z, --parallel Perform transfers in parallel --parallel-immediate Do not wait for multiplexing (with --parallel) --parallel-max <num> Maximum concurrency for parallel transfers --pass <phrase> Pass phrase for the private key --path-as-is Do not squash .. sequences in URL path --pinnedpubkey <hashes> FILE/HASHES Public key to verify peer against --post301 Do not switch to GET after following a 301 --post302 Do not switch to GET after following a 302 --post303 Do not switch to GET after following a 303 --preproxy [protocol://]host[:port] Use this proxy first -#, --progress-bar Display transfer progress as a bar --proto <protocols> Enable/disable PROTOCOLS --proto-default <protocol> Use PROTOCOL for any URL missing a scheme --proto-redir <protocols> Enable/disable PROTOCOLS on redirect -x, --proxy [protocol://]host[:port] Use this proxy --proxy-anyauth Pick any proxy authentication method --proxy-basic Use Basic authentication on the proxy --proxy-cacert <file> CA certificate to verify peer against for proxy --proxy-capath <dir> CA directory to verify peer against for proxy --proxy-cert <cert[:passwd]> Set client certificate for proxy --proxy-cert-type <type> Client certificate type for HTTPS proxy --proxy-ciphers <list> SSL ciphers to use for proxy --proxy-crlfile <file> Set a CRL list for proxy --proxy-digest Use Digest authentication on the proxy --proxy-header <header/@file> Pass custom header(s) to proxy --proxy-insecure Do HTTPS proxy connections without verifying the proxy --proxy-key <key> Private key for HTTPS proxy --proxy-key-type <type> Private key file type for proxy --proxy-negotiate Use HTTP Negotiate (SPNEGO) authentication on the proxy --proxy-ntlm Use NTLM authentication on the proxy --proxy-pass <phrase> Pass phrase for the private key for HTTPS proxy --proxy-pinnedpubkey <hashes> FILE/HASHES public key to verify proxy with --proxy-service-name <name> SPNEGO proxy service name --proxy-ssl-allow-beast Allow security flaw for interop for HTTPS proxy --proxy-ssl-auto-client-cert Use auto client certificate for proxy (Schannel) --proxy-tls13-ciphers <ciphersuite list> TLS 1.3 proxy cipher suites --proxy-tlsauthtype <type> TLS authentication type for HTTPS proxy --proxy-tlspassword <string> TLS password for HTTPS proxy --proxy-tlsuser <name> TLS username for HTTPS proxy --proxy-tlsv1 Use TLSv1 for HTTPS proxy -U, --proxy-user <user:password> Proxy user and password --proxy1.0 <host[:port]> Use HTTP/1.0 proxy on given port -p, --proxytunnel Operate through an HTTP proxy tunnel (using CONNECT) --pubkey <key> SSH Public key file name -Q, --quote <command> Send command(s) to server before transfer --random-file <file> File for reading random data from -r, --range <range> Retrieve only the bytes within RANGE --rate <max request rate> Request rate for serial transfers --raw Do HTTP "raw"; no transfer decoding -e, --referer <URL> Referrer URL -J, --remote-header-name Use the header-provided filename -O, --remote-name Write output to a file named as the remote file --remote-name-all Use the remote file name for all URLs -R, --remote-time Set the remote file's time on the local output --remove-on-error Remove output file on errors -X, --request <method> Specify request method to use --request-target <path> Specify the target for this request --resolve <[+]host:port:addr[,addr]...> Resolve the host+port to this address --retry <num> Retry request if transient problems occur --retry-all-errors Retry all errors (use with --retry) --retry-connrefused Retry on connection refused (use with --retry) --retry-delay <seconds> Wait time between retries --retry-max-time <seconds> Retry only within this period --sasl-authzid <identity> Identity for SASL PLAIN authentication --sasl-ir Enable initial response in SASL authentication --service-name <name> SPNEGO service name -S, --show-error Show error even when -s is used -s, --silent Silent mode --socks4 <host[:port]> SOCKS4 proxy on given host + port --socks4a <host[:port]> SOCKS4a proxy on given host + port --socks5 <host[:port]> SOCKS5 proxy on given host + port --socks5-basic Enable username/password auth for SOCKS5 proxies --socks5-gssapi Enable GSS-API auth for SOCKS5 proxies --socks5-gssapi-nec Compatibility with NEC SOCKS5 server --socks5-gssapi-service <name> SOCKS5 proxy service name for GSS-API --socks5-hostname <host[:port]> SOCKS5 proxy, pass host name to proxy -Y, --speed-limit <speed> Stop transfers slower than this -y, --speed-time <seconds> Trigger 'speed-limit' abort after this time --ssl Try SSL/TLS --ssl-allow-beast Allow security flaw to improve interop --ssl-auto-client-cert Use auto client certificate (Schannel) --ssl-no-revoke Disable cert revocation checks (Schannel) --ssl-reqd Require SSL/TLS --ssl-revoke-best-effort Ignore missing/offline cert CRL dist points -2, --sslv2 Use SSLv2 -3, --sslv3 Use SSLv3 --stderr <file> Where to redirect stderr --styled-output Enable styled output for HTTP headers --suppress-connect-headers Suppress proxy CONNECT response headers --tcp-fastopen Use TCP Fast Open --tcp-nodelay Use the TCP_NODELAY option -t, --telnet-option <opt=val> Set telnet option --tftp-blksize <value> Set TFTP BLKSIZE option --tftp-no-options Do not send any TFTP options -z, --time-cond <time> Transfer based on a time condition --tls-max <VERSION> Set maximum allowed TLS version --tls13-ciphers <ciphersuite list> TLS 1.3 cipher suites to use --tlsauthtype <type> TLS authentication type --tlspassword <string> TLS password --tlsuser <name> TLS user name -1, --tlsv1 Use TLSv1.0 or greater --tlsv1.0 Use TLSv1.0 or greater --tlsv1.1 Use TLSv1.1 or greater --tlsv1.2 Use TLSv1.2 or greater --tlsv1.3 Use TLSv1.3 or greater --tr-encoding Request compressed transfer encoding --trace <file> Write a debug trace to FILE --trace-ascii <file> Like --trace, but without hex output --trace-time Add time stamps to trace/verbose output --unix-socket <path> Connect through this Unix domain socket -T, --upload-file <file> Transfer local FILE to destination --url <url> URL to work with -B, --use-ascii Use ASCII/text transfer -u, --user <user:password> Server user and password -A, --user-agent <name> Send User-Agent <name> to server -v, --verbose Make the operation more talkative -V, --version Show version number and quit -w, --write-out <format> Use output FORMAT after completion --xattr Store metadata in extended file attributes
SourceForge.net を curl で取得する方法
SourceForge.net にあるプロジェクトである Open JTalk download | SourceForge.net のファイルを入手したくて自分なりにいろいろと試してみた結果をまとめておくことにする。
SourceForge.net 公式の文献として存在しているかは未確認であるため、SourceForge.net の仕様が変わるとこの方法は通用しなくなるかもしれませんのでご了承ください。
例えば、以下のファイルをダウンロードしたいとする。
https://sourceforge.net/projects/open-jtalk/files/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz
ブラウザーでは上記のような階層 (open-jtalk プロジェクトの /Open JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz) であるが、2020/09/13 現在 も確認したところ curl コマンドではディレクトリ階層を無視して、以下の形式の URL の指定でダウンロードすることが可能である。
$ curl -LO https://downloads.sourceforge.net/open-jtalk/open_jtalk-1.11.tar.gz
https://downloads.sourceforge.net/{Project Name}/{File Name}
SourceForge.net のシステムは優秀ですね😊
最終リリースのものをダウンロードしたい場合は以下のように記述することもできる。
$ curl -LO https://sourceforge.net/projects/open-jtalk/files/latest
何が起きていて失敗しているかわからないときの [-I, --head / -v, --verbose]
HTTP レスポンスヘッダーのみを表示したい場合。
$ curl -LI https://sourceforge.net/projects/open-jtalk/files/latest
HTTP/1.1 301 Moved Permanently Server: nginx Date: Sun, 13 Sep 2020 12:58:11 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache X-UA-Compatible: IE=edge,chrome=1 X-Frame-Options: SAMEORIGIN Content-Security-Policy: upgrade-insecure-requests Set-Cookie: VISITOR=03d62803-d938-46db-af08-aff943562899; Max-Age=315360000; Path=/; expires=Wed, 11-Sep-2030 12:58:11 GMT; secure; HttpOnly Location: https://sourceforge.net/projects/open-jtalk/files/latest/download X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000 HTTP/1.1 302 Found Server: nginx Date: Sun, 13 Sep 2020 12:58:12 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Pragma: no-cache Cache-Control: no-cache X-UA-Compatible: IE=edge,chrome=1 X-Frame-Options: SAMEORIGIN Content-Security-Policy: upgrade-insecure-requests Set-Cookie: VISITOR=607e89b7-be89-4f4d-b673-8d9aefcd78be; Max-Age=315360000; Path=/; expires=Wed, 11-Sep-2030 12:58:12 GMT; secure; HttpOnly Location: https://downloads.sourceforge.net/project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz?r=&ts=1600001892&use_mirror=jaist X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000 HTTP/1.1 302 Found Server: nginx Date: Sun, 13 Sep 2020 12:58:13 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Content-Disposition: attachment; filename="open_jtalk-1.11.tar.gz" Set-Cookie: sf_mirror_attempt=open-jtalk:jaist:Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz; Max-Age=120; Path=/; expires=Sun, 13-Sep-2020 13:00:13 GMT Location: https://jaist.dl.sourceforge.net/project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz HTTP/1.1 200 OK Date: Sun, 13 Sep 2020 12:58:13 GMT Server: Apache/2.4.43 (Unix) OpenSSL/1.0.2t Last-Modified: Tue, 25 Dec 2018 08:07:28 GMT ETag: "129030f-57dd4345fd63f" Accept-Ranges: bytes Content-Length: 19464975 Content-Type: application/x-gzip
curl が行っている操作を、より詳細に表示するように指定できる。
$ curl -LOv https://sourceforge.net/projects/open-jtalk/files/latest
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 216.105.38.13... * TCP_NODELAY set 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Connected to sourceforge.net (216.105.38.13) port 443 (#0) * schannel: SSL/TLS connection with sourceforge.net port 443 (step 1/3) * schannel: checking server certificate revocation * schannel: sending initial handshake data: sending 186 bytes... * schannel: sent initial handshake data: sent 186 bytes * schannel: SSL/TLS connection with sourceforge.net port 443 (step 2/3) * schannel: failed to receive handshake, need more data * schannel: SSL/TLS connection with sourceforge.net port 443 (step 2/3) * schannel: encrypted data got 2610 * schannel: encrypted data buffer: offset 2610 length 4096 * schannel: sending next handshake data: sending 93 bytes... * schannel: SSL/TLS connection with sourceforge.net port 443 (step 2/3) * schannel: encrypted data got 51 * schannel: encrypted data buffer: offset 51 length 4096 * schannel: SSL/TLS handshake complete * schannel: SSL/TLS connection with sourceforge.net port 443 (step 3/3) * schannel: stored credential handle in session cache > GET /projects/open-jtalk/files/latest HTTP/1.1 > Host: sourceforge.net > User-Agent: curl/7.55.1 > Accept: */* > * schannel: client wants to read 102400 bytes * schannel: encdata_buffer resized 103424 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: encrypted data got 14600 * schannel: encrypted data buffer: offset 14600 length 103424 * schannel: failed to decrypt data, need more data * schannel: schannel_recv cleanup * schannel: client wants to read 102400 bytes * schannel: encrypted data buffer: offset 14600 length 103424 * schannel: encrypted data got 9314 * schannel: encrypted data buffer: offset 23914 length 103424 * schannel: decrypted data length: 16384 * schannel: decrypted data added: 16384 * schannel: decrypted data cached: offset 16384 length 102400 * schannel: encrypted data length: 7501 * schannel: encrypted data cached: offset 7501 length 103424 * schannel: decrypted data length: 7472 * schannel: decrypted data added: 7472 * schannel: decrypted data cached: offset 23856 length 102400 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: decrypted data buffer: offset 23856 length 102400 * schannel: schannel_recv cleanup * schannel: decrypted data returned 23856 * schannel: decrypted data buffer: offset 0 length 102400 < HTTP/1.1 301 Moved Permanently < Server: nginx < Date: Sun, 13 Sep 2020 12:40:28 GMT < Content-Type: text/html; charset=UTF-8 < Content-Length: 23227 < Connection: keep-alive < Pragma: no-cache < Cache-Control: no-cache < X-UA-Compatible: IE=edge,chrome=1 < X-Frame-Options: SAMEORIGIN < Content-Security-Policy: upgrade-insecure-requests < Set-Cookie: VISITOR=ac83a66e-c2de-49f4-84f7-db630e784d12; Max-Age=315360000; Path=/; expires=Wed, 11-Sep-2030 12:40:28 GMT; secure; HttpOnly < Location: https://sourceforge.net/projects/open-jtalk/files/latest/download < X-Content-Type-Options: nosniff < Strict-Transport-Security: max-age=31536000 < * Ignoring the response-body { [23227 bytes data] 100 23227 100 23227 0 0 23227 0 0:00:01 0:00:01 --:--:-- 16508 * Connection #0 to host sourceforge.net left intact * Issue another request to this URL: 'https://sourceforge.net/projects/open-jtalk/files/latest/download' * Found bundle for host sourceforge.net: 0x1f4bafc2500 [can pipeline] * Re-using existing connection! (#0) with host sourceforge.net * Connected to sourceforge.net (216.105.38.13) port 443 (#0) > GET /projects/open-jtalk/files/latest/download HTTP/1.1 > Host: sourceforge.net > User-Agent: curl/7.55.1 > Accept: */* > * schannel: client wants to read 102400 bytes * schannel: encrypted data buffer: offset 0 length 103424 * schannel: encrypted data got 20793 * schannel: encrypted data buffer: offset 20793 length 103424 * schannel: decrypted data length: 16384 * schannel: decrypted data added: 16384 * schannel: decrypted data cached: offset 16384 length 102400 * schannel: encrypted data length: 4380 * schannel: encrypted data cached: offset 4380 length 103424 * schannel: failed to decrypt data, need more data * schannel: schannel_recv cleanup * schannel: decrypted data returned 16384 * schannel: decrypted data buffer: offset 0 length 102400 < HTTP/1.1 302 Found < Server: nginx < Date: Sun, 13 Sep 2020 12:40:28 GMT < Content-Type: text/html; charset=UTF-8 < Content-Length: 23432 < Connection: keep-alive < Pragma: no-cache < Cache-Control: no-cache < X-UA-Compatible: IE=edge,chrome=1 < X-Frame-Options: SAMEORIGIN < Content-Security-Policy: upgrade-insecure-requests < Set-Cookie: VISITOR=ceaebdca-1016-4e18-bdc6-67cba423530e; Max-Age=315360000; Path=/; expires=Wed, 11-Sep-2030 12:40:28 GMT; secure; HttpOnly < Location: https://downloads.sourceforge.net/project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz?r=&ts=1600000828&use_mirror=jaist < X-Content-Type-Options: nosniff < Strict-Transport-Security: max-age=31536000 < * Ignoring the response-body { [15694 bytes data] * schannel: client wants to read 7738 bytes * schannel: encrypted data buffer: offset 4380 length 103424 * schannel: encrypted data got 3387 * schannel: encrypted data buffer: offset 7767 length 103424 * schannel: decrypted data length: 7738 * schannel: decrypted data added: 7738 * schannel: decrypted data cached: offset 7738 length 102400 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: decrypted data buffer: offset 7738 length 102400 * schannel: schannel_recv cleanup * schannel: decrypted data returned 7738 * schannel: decrypted data buffer: offset 0 length 102400 { [7738 bytes data] 100 23432 100 23432 0 0 23432 0 0:00:01 0:00:01 --:--:-- 23432 * Connection #0 to host sourceforge.net left intact * Issue another request to this URL: 'https://downloads.sourceforge.net/project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz?r=&ts=1600000828&use_mirror=jaist' * Trying 216.105.38.13... * TCP_NODELAY set * Connected to downloads.sourceforge.net (216.105.38.13) port 443 (#1) 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0* schannel: SSL/TLS connection with downloads.sourceforge.net port 443 (step 1/3) * schannel: checking server certificate revocation * schannel: sending initial handshake data: sending 196 bytes... * schannel: sent initial handshake data: sent 196 bytes * schannel: SSL/TLS connection with downloads.sourceforge.net port 443 (step 2/3) * schannel: failed to receive handshake, need more data * schannel: SSL/TLS connection with downloads.sourceforge.net port 443 (step 2/3) * schannel: encrypted data got 2611 * schannel: encrypted data buffer: offset 2611 length 4096 * schannel: sending next handshake data: sending 93 bytes... * schannel: SSL/TLS connection with downloads.sourceforge.net port 443 (step 2/3) * schannel: encrypted data got 51 * schannel: encrypted data buffer: offset 51 length 4096 * schannel: SSL/TLS handshake complete * schannel: SSL/TLS connection with downloads.sourceforge.net port 443 (step 3/3) * schannel: stored credential handle in session cache > GET /project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz?r=&ts=1600000828&use_mirror=jaist HTTP/1.1 > Host: downloads.sourceforge.net > User-Agent: curl/7.55.1 > Accept: */* > * schannel: client wants to read 102400 bytes * schannel: encdata_buffer resized 103424 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: encrypted data got 920 * schannel: encrypted data buffer: offset 920 length 103424 * schannel: decrypted data length: 891 * schannel: decrypted data added: 891 * schannel: decrypted data cached: offset 891 length 102400 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: decrypted data buffer: offset 891 length 102400 * schannel: schannel_recv cleanup * schannel: decrypted data returned 891 * schannel: decrypted data buffer: offset 0 length 102400 < HTTP/1.1 302 Found < Server: nginx < Date: Sun, 13 Sep 2020 12:40:30 GMT < Content-Type: text/html; charset=UTF-8 < Content-Length: 389 < Connection: keep-alive < Content-Disposition: attachment; filename="open_jtalk-1.11.tar.gz" < Set-Cookie: sf_mirror_attempt=open-jtalk:jaist:Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz; Max-Age=120; Path=/; expires=Sun, 13-Sep-2020 12:42:30 GMT < Location: https://jaist.dl.sourceforge.net/project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz < * Ignoring the response-body { [389 bytes data] 100 389 100 389 0 0 194 0 0:00:02 0:00:02 --:--:-- 529 * Connection #1 to host downloads.sourceforge.net left intact * Issue another request to this URL: 'https://jaist.dl.sourceforge.net/project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz' * Trying 150.65.7.130... * TCP_NODELAY set * Connected to jaist.dl.sourceforge.net (150.65.7.130) port 443 (#2) * schannel: SSL/TLS connection with jaist.dl.sourceforge.net port 443 (step 1/3) * schannel: checking server certificate revocation * schannel: sending initial handshake data: sending 195 bytes... * schannel: sent initial handshake data: sent 195 bytes * schannel: SSL/TLS connection with jaist.dl.sourceforge.net port 443 (step 2/3) * schannel: failed to receive handshake, need more data * schannel: SSL/TLS connection with jaist.dl.sourceforge.net port 443 (step 2/3) * schannel: encrypted data got 2996 * schannel: encrypted data buffer: offset 2996 length 4096 * schannel: sending next handshake data: sending 126 bytes... 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0* schannel: SSL/TLS connection with jaist.dl.sourceforge.net port 443 (step 2/3) * schannel: encrypted data got 290 * schannel: encrypted data buffer: offset 290 length 4096 * schannel: SSL/TLS handshake complete * schannel: SSL/TLS connection with jaist.dl.sourceforge.net port 443 (step 3/3) * schannel: stored credential handle in session cache > GET /project/open-jtalk/Open%20JTalk/open_jtalk-1.11/open_jtalk-1.11.tar.gz HTTP/1.1 > Host: jaist.dl.sourceforge.net > User-Agent: curl/7.55.1 > Accept: */* > * schannel: client wants to read 102400 bytes * schannel: encdata_buffer resized 103424 * schannel: encrypted data buffer: offset 0 length 103424 * schannel: encrypted data got 8760 * schannel: encrypted data buffer: offset 8760 length 103424 * schannel: decrypted data length: 260 * schannel: decrypted data added: 260 * schannel: decrypted data cached: offset 260 length 102400 * schannel: encrypted data length: 8471 * schannel: encrypted data cached: offset 8471 length 103424 * schannel: failed to decrypt data, need more data * schannel: schannel_recv cleanup * schannel: decrypted data returned 260 * schannel: decrypted data buffer: offset 0 length 102400 < HTTP/1.1 200 OK < Date: Sun, 13 Sep 2020 12:40:30 GMT < Server: Apache/2.4.43 (Unix) OpenSSL/1.0.2t < Last-Modified: Tue, 25 Dec 2018 08:07:28 GMT < ETag: "129030f-57dd4345fd63f" < Accept-Ranges: bytes < Content-Length: 19464975 < Content-Type: application/x-gzip < * schannel: client wants to read 102400 bytes * schannel: encrypted data buffer: offset 8471 length 103424 * schannel: encrypted data got 46720 * schannel: encrypted data buffer: offset 55191 length 103424 * schannel: decrypted data length: 16384 * schannel: decrypted data added: 16384 * schannel: decrypted data cached: offset 16384 length 102400 * schannel: encrypted data length: 38778 * schannel: encrypted data cached: offset 38778 length 103424 * schannel: decrypted data length: 16384 * schannel: decrypted data added: 16384 * schannel: decrypted data cached: offset 32768 length 102400 * schannel: encrypted data length: 22365 * schannel: encrypted data cached: offset 22365 length 103424 * schannel: decrypted data length: 16384 * schannel: decrypted data added: 16384 * schannel: decrypted data cached: offset 49152 length 102400 * schannel: encrypted data length: 5952 * schannel: encrypted data cached: offset 5952 length 103424 * schannel: failed to decrypt data, need more data * schannel: schannel_recv cleanup * schannel: decrypted data returned 49152 * schannel: decrypted data buffer: offset 0 length 102400 { [49152 bytes data] ...