diff --git a/oss2/api.py b/oss2/api.py index a9994713..e46c39a6 100644 --- a/oss2/api.py +++ b/oss2/api.py @@ -219,6 +219,7 @@ def _do(self, method, bucket_name, key, **kwargs): key = to_string(key) req = http.Request(method, self._make_url(bucket_name, key), app_name=self.app_name, + proxies=self.proxies, **kwargs) self.auth._sign_request(req, bucket_name, key) @@ -400,6 +401,7 @@ class Bucket(_Base): def __init__(self, auth, endpoint, bucket_name, + proxies=None, is_cname=False, session=None, connect_timeout=None, @@ -412,6 +414,7 @@ def __init__(self, auth, endpoint, bucket_name, self.bucket_name = bucket_name.strip() if utils.is_valid_bucket_name(self.bucket_name) is not True: raise ClientError("The bucket_name is invalid, please check it.") + self.proxies = proxies def sign_url(self, method, key, expires, headers=None, params=None, slash_safe=False): """生成签名URL。 diff --git a/oss2/http.py b/oss2/http.py index 3df4628b..b323978e 100644 --- a/oss2/http.py +++ b/oss2/http.py @@ -44,6 +44,7 @@ def do_request(self, req, timeout): data=req.data, params=req.params, headers=req.headers, + proxies=req.proxies, stream=True, timeout=timeout)) except requests.RequestException as e: @@ -55,11 +56,13 @@ def __init__(self, method, url, data=None, params=None, headers=None, + proxies=None, app_name=''): self.method = method self.url = url self.data = _convert_request_body(data) self.params = params or {} + self.proxies = proxies if not isinstance(headers, CaseInsensitiveDict): self.headers = CaseInsensitiveDict(headers)