1

我正在构建一个 Web 应用程序,它将自动从 Amazon 的 S3 云下载一些数据,解压缩并将解压缩的数据加载到 PostGRE SQL 数据库中。

我已经开发并运行了所有脚本。但是,我想创建一个前端,用户可以在其中输入代理服务器的用户名和密码。这是必要的,因为用户需要每月更改这些内容。

我正在使用 boto 连接到 S3。到目前为止,由于我自己从命令行执行脚本,所以我只是按原样输入密码。我想更改它并使用 jQuery 将用户名和加密密码传递给 Python 脚本,然后该脚本将执行上述所有操作。我想避免通过网络浏览器地址行中的参数列表发送此信息。

我知道如何进行散列(我认为)。但是,当我尝试将散列密码传递给 boto 时,出现错误407 (Proxy Authentication Required)

有谁知道解决方法?只要我可以传递加密密码,我很乐意使用 Boto 以外的模块。除非我可以在脚本中“取消哈希”密码,然后将其传递给 Boto.S3Connection。

这是我用来连接到 S3 的脚本。

import boto 
import sys, os
from boto.s3.key import Key
import boto.s3.connection as s3
import argparse

AWS_ACCESS_KEY_ID = 'XXXXXXXXXXXXXXXXXXXXXXX'
AWS_SECRET_ACCESS_KEY = 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY'

parser = argparse.ArgumentParser(description='Do something')
parser.add_argument('user', metavar='user', nargs='+', help='user login to access proxy')
parser.add_argument('passwd', metavar='passwd', nargs='+', help='user password')

args = parser.parse_args()
bucket_name = 'xxxx.xxx.xxx'

# connect to the bucket
conn = s3.S3Connection(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, 
      proxy='999.999.99.99',
      proxy_port='8080', 
      proxy_user=args.user[0], 
      proxy_pass=args.passwd[0])

# do whatever is necessary below ...

在此先感谢您的帮助!

4

0 回答 0