1

ファイルを投稿できますcurl

curl -X POST -i -F name='memo.txt' -F file=@/home/tester/Desktop/memo.txt  
'http://localhost:8080/***/***/concerts/008?
access_token=YWMtraI2DF21EeWx_Rm4tdnmrwAAAVACjcyGG8TpdXJBXdjnRJ2SeqIAZI1T8Xk'

しかし、同じことを で試したところrequests.post、ファイルがサーバーにアップロードされませんでした。なぜこれが起こるのか誰にも分かりません。

import requests

url = 'http://localhost:8080/***/***/concerts/008'
files = {
    'memo.txt': open('/home/tester/Desktop/memo.txt', 'rb'),
    'name': 'memo.txt'
}
r = requests.post(
    url, files=files, 
    params=dict(access_token='YWMtraI2DF21EeWx_Rm4tdnmrwAAAVACjcyGG8TpdXJBXdjnRJ2SeqIAZI1T8Xk')
)
4

1 に答える 1

2

nameフィールドが欠落しているようです。それを辞書に追加するかfiles、新しいdata辞書に追加します (どちらでもかまいません)。ファイルの名前は次のfileとおりです。

import requests

url = 'http://localhost:8080/***/***/concerts/008'
files = {'file': open('/home/tester/Desktop/memo.txt','rb')}
data = {'name': 'memo.txt'}
params = {'access_token': 'YWMtraI2DF21EeWx_Rm4tdnmrwAAAVACjcyGG8TpdXJBXdjnRJ2SeqIAZI1T8Xk'}
r = requests.post(url, data=data, files=files, params=params)

また

import requests

url = 'http://localhost:8080/***/***/concerts/008'
files = {
    'file': open('/home/tester/Desktop/memo.txt','rb'),
    'name': 'memo.txt'
}
params = {'access_token': 'YWMtraI2DF21EeWx_Rm4tdnmrwAAAVACjcyGG8TpdXJBXdjnRJ2SeqIAZI1T8Xk'}
r = requests.post(url, files=files, params=params)
于 2015-09-23T10:04:45.720 に答える