我正在构建一个 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 ...
在此先感谢您的帮助!