How do you download from a repo using urllib3 in python? All examples use requests package

JERRY MCLAUGHLIN February 2, 2022

Using urllib3 I can't figure out how to pass the id and app password. I can't use requests as this is an AWS Lambda function that does not support the requests package only urllib3. Does anyone know why I'm not able to download the repo?

Curl is easy

curl -u userid:appPassword https://bitbucket.org/userid/repo_name/get/main.zip --output repo_name.zip;

I have this code but it returns a zero byte file main.zip

import urllib3

import shutil


appPassword='XXXXXXXXXXXX'

url = 'https://bitbucket.org/userid/repo_name/get/main.zip'

headers = urllib3.make_headers(basic_auth='userid:appPassword')

c = urllib3.PoolManager()

with c.request('GET',url, headers=headers,  preload_content=False) as resp, open('main.zip', 'wb') as out_file:

    shutil.copyfileobj(resp, out_file)

 resp.release_conn()

1 answer

0 votes
Igor Stoyanov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
February 4, 2022

@JERRY MCLAUGHLIN Hi. Thanks for your question.
Maybe this answer is not related to urllib3, but you can add requests to lambda.
Please check this article.

Regards, Igor.

JERRY MCLAUGHLIN February 4, 2022

Thank you for your reply. requests is no longer a part of the AWS SDK and I want to maintain concurrency for AWS support purposes. https://aws.amazon.com/blogs/compute/upcoming-changes-to-the-python-sdk-in-aws-lambda/

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events