如何使用python请求下载已处理的文件?

时间:2016-10-29 18:43:00

标签: python django python-requests

我正在使用Django 1.8.1和Python 3.4,并且我试图使用请求下载已处理的文件。以下代码适用于正常的request.get命令,可以下载服务器位置或未处理文件的确切文件。

 需要根据传递的数据处理文件(如下所示为"数据")。这些数据需要传递到Django后端,并根据文本传递变量从服务器运行内部程序并输出.gcode而不是.stl文件类型。

python文件。

import requests, os, json

SERVER='http://localhost:8000'
authuser = 'admin@google.com'
authpass = 'passwords'

#data not implimented
##############################################
data = {FirstName:Steve,Lastname:Escovar}
############################################ 

category = requests.get(SERVER + '/media/uploads/9128342/141303729.stl', auth=(authuser, authpass))

#download to path file
path = "/home/bradman/Downloads/requestdata/newfile.stl"
if category.status_code == 200:
    with open(path, 'wb') as f:
        for chunk in category:
            f.write(chunk)

我对此非常困惑,但我认为最好的做法是将数据与request.get一起传递,并以某种方式使一些函数在我的views.py中为Django抓取它们。有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

要在请求中使用data,您可以执行

get( ... , params=data) 

(并在url中获取数据作为参数)

post( ... , data=data). 

(并且您可以像HTML格式一样发送数据)

顺便说一句。一些API在GET或POST的一个请求中需要params=data=来发送所有需要的信息。

阅读requests documentation