From 4a049c12fe3bb5bc9abadc9e1bb2d334b53fd94a Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Mon, 12 Feb 2024 17:26:48 +0000 Subject: [PATCH] copyurl: add troubleshooting section to the docs See: https://forum.rclone.org/t/copyurl-fails-with-stream-error-wget-and-curl-works/44382/2 --- cmd/copyurl/copyurl.go | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/cmd/copyurl/copyurl.go b/cmd/copyurl/copyurl.go index b5df8c88f..37061bc09 100644 --- a/cmd/copyurl/copyurl.go +++ b/cmd/copyurl/copyurl.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "os" + "strings" "github.com/rclone/rclone/cmd" "github.com/rclone/rclone/fs" @@ -34,23 +35,37 @@ func init() { var commandDefinition = &cobra.Command{ Use: "copyurl https://example.com dest:path", - Short: `Copy url content to dest.`, - Long: ` + Short: `Copy the contents of the URL supplied content to dest:path.`, + Long: strings.ReplaceAll(` Download a URL's content and copy it to the destination without saving it in temporary storage. -Setting ` + "`--auto-filename`" + ` will attempt to automatically determine the filename from the URL -(after any redirections) and used in the destination path. -With ` + "`--auto-filename-header`" + ` in -addition, if a specific filename is set in HTTP headers, it will be used instead of the name from the URL. -With ` + "`--print-filename`" + ` in addition, the resulting file name will be printed. +Setting |--auto-filename| will attempt to automatically determine the +filename from the URL (after any redirections) and used in the +destination path. -Setting ` + "`--no-clobber`" + ` will prevent overwriting file on the +With |--auto-filename-header| in addition, if a specific filename is +set in HTTP headers, it will be used instead of the name from the URL. +With |--print-filename| in addition, the resulting file name will be +printed. + +Setting |--no-clobber| will prevent overwriting file on the destination if there is one with the same name. -Setting ` + "`--stdout`" + ` or making the output file name ` + "`-`" + ` +Setting |--stdout| or making the output file name |-| will cause the output to be written to standard output. -`, + +### Troublshooting + +If you can't get |rclone copyurl| to work then here are some things you can try: + +- |--disable-http2| rclone will use HTTP2 if available - try disabling it +- |--bind 0.0.0.0| rclone will use IPv6 if available - try disabling it +- |--bind ::0| to disable IPv4 +- |--user agent curl| - some sites have whitelists for curl's user-agent - try that +- Make sure the site works with |curl| directly + +`, "|", "`"), Annotations: map[string]string{ "versionIntroduced": "v1.43", "groups": "Important",