teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

ソースコードの編集

2018/05/18 00:26

投稿

ths
ths

スコア21

title CHANGED
File without changes
body CHANGED
@@ -2,12 +2,22 @@
2
2
  requests.postメソッドには何が必要なのでしょうか。
3
3
  公式サイトやその他の解説サイトを見ても通りません。
4
4
 
5
+ 【コードを書き直したのですが、新たなエラーが出ました。】
5
6
  ```ここに言語を入力
6
- {'error': {'code': '105', 'message': 'Request body is invalid format.'}}
7
7
  Traceback (most recent call last):
8
- File "image_recognition.py", line 48, in <module>
8
+ File "image_recognition.py", line 46, in <module>
9
- for can in candidate_list:
9
+ candidate_list = getImageCategory(fname, model_name)
10
- TypeError: 'NoneType' object is not iterable
10
+ File "image_recognition.py", line 29, in getImageCategory
11
+ data = result.json()
12
+ File "C:\Users\user\AppData\Local\Continuum\anaconda3\envs\opencv\lib\site-packages\requests\models.py", line 850, in json
13
+ return complexjson.loads(self.text, **kwargs)
14
+ File "C:\Users\user\AppData\Local\Continuum\anaconda3\envs\opencv\lib\json\__init__.py", line 354, in loads
15
+ return _default_decoder.decode(s)
16
+ File "C:\Users\user\AppData\Local\Continuum\anaconda3\envs\opencv\lib\json\decoder.py", line 339, in decode
17
+ obj, end = self.raw_decode(s, idx=_w(s, 0).end())
18
+ File "C:\Users\user\AppData\Local\Continuum\anaconda3\envs\opencv\lib\json\decoder.py", line 357, in raw_decode
19
+ raise JSONDecodeError("Expecting value", s, err.value) from None
20
+ json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
11
21
  ```
12
22
 
13
23
  ```ここに言語を入力
@@ -16,15 +26,13 @@
16
26
 
17
27
  APIKEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
18
28
  url = 'https://api.apigw.smt.docomo.ne.jp/imageRecognition/v1/concept/classify/'
19
- params = {'APIKEY': APIKEY, 'recog': 'product-all', 'numOfCandidates': 1}
29
+ params = {'APIKEY': APIKEY, 'image': img, 'modelName': modelName}
20
- f = open(fname, 'rb')
21
30
 
22
- headers = {'Content-Type': 'application/octet-stream'}
31
+ headers = {'Content-Type': 'multipart/form-data'}
23
32
 
24
33
  result = requests.post(
25
34
  url = url,
26
35
  params = params,
27
- data = f,
28
36
  headers = headers,
29
37
  )
30
38
  data = result.json()