Python,Pydio,Rest和模块请求发送文件

时间:2017-01-05 14:14:26

标签: python rest http python-requests pydio

在python上完全是新手,我不得不尝试使用 requests 模块和从freeBSD bash启动的 python3.5 上传gzip文件。

收集我设法获得的互联网信息后,这是我的upload.py:

#!/usr/bin/env python3.5
import requests, os.path, sys, glob, time, re, datetime
urlPydio ='https://remote.pydio.server.fr'
certPydio = 'remote.pydio.server.ssl.crt'
depotDistant = 'ws'
urlComplet = urlPydio + "/api/" + depotDistant + "/"
loginPydio = 'user.name'`
passwordPydio = 'PASSWORD'
repLocal = os.path.abspath('/var/squid/logs/access_log_gz/')
yesterday = datetime.date.today() - datetime.timedelta(days=1)
listFichiers = os.listdir(repLocal)

for fichier in listFichiers:`
    if re.search ('^\w{5}_\w{4}_\w+_'+ str(yesterday) + '.gz$', fichier):
        nomFichierComplet = repLocal +'/'+ fichier
        headers = {'x-File-Name': fichier}
        urlAction = urlComplet + "upload/input_stream" + "/remote_folder/remote_folder/"
        print(nomFichierComplet, urlAction)
        files = {fichier: open(nomFichierComplet, 'rb')}
    try:
        rest = requests.put(urlAction, files=files, auth=(loginPydio,passwordPydio), headers=headers, verify=False)
        codeRetour = rest.status_code
        if codeRetour == 200:
            print('file sent succcessfully', codeRetour, rest.headers)
        else:
            print('error sending file ', codeRetour, rest.text)
    except requests.exceptions.RequestException as e:
        print(e)

因此,我设法在远程pydio服务器上获取log.gz文件,但文件中添加了一些标题内容,因此无法解压缩。用记事本打开,要删除的3行是:

  

- 223ef42df08f4792ba6ef6e71cdf749c

     

内容 - 处置:表单数据; NAME = “log.gz”;文件名= “log.gz”

我尝试了一些 request.post 内容,但未成功,我尝试将标头值更改为,无法发送文件。 我也尝试 rest.prepare() del headers ['Content-Disposition'] 也不成功

rest.headers 返回:

  

{'Content-Type':'text / html; charset = UTF-8','Date':'星期四,2017年1月5日10:10:16 GMT','转移编码':'chunked','Set-Cookie':'AjaXplorer = i6m1ud1cgocokaehc58gelc8m2;路径= /; HttpOnly','Vary':'Accept-Encoding','Connection':'keep-alive','Server':'nginx','Cache-Control':'no-store,no-cache,must-revalidate, post-check = 0,pre-check = 0','Content-Encoding':'gzip','Expires':'Thu,1981年11月19日08:52:00 GMT','Pragma':'no-cache' }

现在,我在这里,向你提供一些帮助或一些文件/帖子。 我只想上传一个log.gz文件而不对文件本身进行任何更改,以便可以下载并解压缩。

0 个答案:

没有答案