Python:使用机械化将文件上传到受密码保护的区域

时间:2018-06-30 03:41:19

标签: python-2.7 mechanize

我的网络服务器( .htaccess )上有一个受密码保护的区域。有一个php页面可以上传文件(当前仅允许图像文件)。我给你带来了一个可执行程序。当我运行它时,我得到一个追溯(您会在我的问题结尾处找到它)。 但是,当我注释掉“ br.submit()”并再次运行它时,所有内容都可以通过打印成功打印。这意味着访问已成功。为什么文件未上传到密码保护区域?我该怎么办?我确定我缺少什么。

顺便说一句,用于测试url,用户名和密码的代码是正确的。如果您想测试,请放心。

from mechanize import Browser

def access_atuh(url = None,
                user = None,
                pwd = None,
                file_path = None):
    br = Browser()
    br.add_password(url, user, pwd)
    response = br.open(url)
    br.select_form(nr=0)
    br.form.add_file(open(file_path,'rb'))
    #br.form.add_file(open(file_path), 'text/plain', file_path)
    br.submit()
    print response.read()

access_atuh(url = "http://sophus.bplaced.net/xarphus_support/support_account/test/upload_form.php",
            user = "test",
            pwd = "test",
            file_path = r'C:\path\to\YourImageFile.jpg')

跟踪:

  

回溯(最近通话最近):文件   “ C:\ Users \ Sophus \ Desktop \ http_mechnaize \ hppt_mechanize.py”,第20行,   在       file_path = r'C:\ Users \ Sophus \ Desktop \ Buehne.jpg')文件“ C:\ Users \ Sophus \ Desktop \ http_mechnaize \ hppt_mechanize.py”,第13行   在access_atuh中       res = br.submit()文件“ C:\ Python27 \ lib \ site-packages \ mechanize_mechanize.py”,行685,在   提交       返回self.open(self.click(* args,** kwds))文件“ C:\ Python27 \ lib \ site-packages \ mechanize_mechanize.py”,第254行,在   打开       返回self._mech_open(url_or_request,data,timeout = timeout)文件“ C:\ Python27 \ lib \ site-packages \ mechanize_mechanize.py”,行   310,_mech_open中       引发响应httperror_seek_wrapper:HTTP错误401:未经授权

0 个答案:

没有答案