Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将实际文件的这篇文章翻译成python请求?_Python_Post_Curl_Python Requests_Asana - Fatal编程技术网

如何将实际文件的这篇文章翻译成python请求?

如何将实际文件的这篇文章翻译成python请求?,python,post,curl,python-requests,asana,Python,Post,Curl,Python Requests,Asana,我已经彻底地搜索了stackoverflow,但没有找到这个问题的答案 我正在努力为AsanaAPI做贡献。其思想是将文件作为任务的附件发布 在asana API中,指定上载的文件“需要是实际文件,而不是字节流。” 我有一个这样的工作卷发请求: curl -u <api_key>: --form "file=@file.txt" https://app.asana.com/api/1.0/tasks/1337/attachments 来自asana。这可能完全相同,但您是否尝试在请

我已经彻底地搜索了stackoverflow,但没有找到这个问题的答案

我正在努力为AsanaAPI做贡献。其思想是将文件作为任务的附件发布

在asana API中,指定上载的文件“需要是实际文件,而不是字节流。”

我有一个这样的工作卷发请求:

curl -u <api_key>: --form "file=@file.txt" https://app.asana.com/api/1.0/tasks/1337/attachments

来自asana。

这可能完全相同,但您是否尝试在请求网站上的数据参数之外分配files参数:

url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)

您可以将
文件
参数传递给
请求。post
用于表单编码文件上载。见下例:

import requests

KEY = ''
TASK_ID = ''
url = 'https://app.asana.com/api/1.0/tasks/{0}/attachments'.format(TASK_ID)

with open('file.txt') as f:
    files = {'file': f.read()}
    r = requests.post(url, auth=(KEY, ''), files=files)

print(r.status_code)
print(r.json())

不,这没什么区别。事实上,我已经按照你建议的方式实现了它,只是对问题进行了“解释”。对不起,没有看到你的答案。但你的应该行得通:)我已经能解决问题了。错误出现在
data={'file':open('valid_path_to_file.ext','rb')}
。它应该是
files={'file':open('valid_path_to_file.ext','rb')}
。相当琐碎。
url = 'http://httpbin.org/post'
files = {'file': open('report.xls', 'rb')}
r = requests.post(url, files=files)
import requests

KEY = ''
TASK_ID = ''
url = 'https://app.asana.com/api/1.0/tasks/{0}/attachments'.format(TASK_ID)

with open('file.txt') as f:
    files = {'file': f.read()}
    r = requests.post(url, auth=(KEY, ''), files=files)

print(r.status_code)
print(r.json())