通过代理的Python Boto连接

通过代理的Python Boto连接,python,proxy,amazon-s3,boto,password-encryption,Python,Proxy,Amazon S3,Boto,Password Encryption,我正在构建一个web应用程序,它将自动从Amazon的S3云下载一些数据,解压并将解压后的数据加载到PostgreSQL数据库中 我有所有的脚本开发和工作。但是,我想创建一个前端,用户可以在其中为代理服务器输入用户名和密码。这是必要的,因为用户需要每月更改这些 我正在使用boto连接到S3。到目前为止,由于我自己是从命令行执行脚本的,所以我只是按原样输入密码。我想改变这一点,并使用jQuery将用户名和加密密码传递给Python脚本,然后该脚本将执行上述所有操作。我希望避免通过web浏览器地址行

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

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

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

我知道怎么做散列(我想)。然而,当我试图将哈希密码传递给boto时,我得到一个错误
407(需要代理身份验证)

有人知道解决这个问题的方法吗?我很乐意使用除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 ...
提前感谢您的帮助

通过阅读,我现在知道我无法取消哈希密码(单向编码)。我可以用RSA加密做反转,我想我会用它。欢迎提出任何其他建议。