【问题标题】:How do I use python requests to download a processed files?如何使用 python 请求下载已处理的文件?
【发布时间】:2017-03-12 08:53:16
【问题描述】:

我正在将 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 创建一些函数来获取它们。有人有什么想法吗?

【问题讨论】:

  • 您可以发送 GET 或 POST - 这取决于您在 django 代码中的内容。
  • 如何修改我的“类别”项以接受“数据”变量,以及它将如何在 Django 端显示?
  • category 保留结果/响应,而不是请求 - 您无法更改它。使用get( ... , params=data)post( ... , data=data)。阅读requests documentation
  • 将此作为答案发布,我会接受。我对此进行的研究越多,python-requests 比我想象的要有限得多。我真正的问题是在 Django 中,以及从 Django Rest Framework 调用 get 函数的地方。

标签: python django python-requests


【解决方案1】:

要在请求中使用data,您可以这样做

get( ... , params=data) 

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

post( ... , data=data). 

(并且您以正文形式发送数据 - 如 HTML 表单)

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

阅读requests documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    相关资源
    最近更新 更多