diff --git a/gslib/commands/signurl.py b/gslib/commands/signurl.py index f1fd049ed0..c7cfa3da79 100644 --- a/gslib/commands/signurl.py +++ b/gslib/commands/signurl.py @@ -539,7 +539,8 @@ def RunCommand(self): # Need to url encode the object name as Google Cloud Storage does when # computing the string to sign when checking the signature. gcs_path = '{0}/{1}'.format( - url.bucket_name, urllib.parse.quote(url.object_name.encode(UTF8))) + url.bucket_name, + urllib.parse.quote(url.object_name.encode(UTF8), safe='/~')) if region == _AUTO_DETECT_REGION: if url.bucket_name in region_cache: