2017-02-28 6 views
0

ここではPythonスクリプトを使用してログイン保護されたAPIに接続しています。requests.post with Python

import requests 

url = 'https://api.json' 
header = {'Content-Type': 'application/x-www-form-urlencoded'} 
login = ('[email protected]', 'xxxxx') 
mnem = 'inputRequests':'{'inputRequests':'[{'function':'GDSP','identifier':'ibm','mnemonic':'IQ_TOTAL_REV'}]}} 

    r = requests.post(url, auth=login, data=mnem, headers=header) 

    print(r.json()) 

接続が確立されましたが、データリクエストの形式のためにAPIからエラーが発生しています。元の形式は以下のとおりです。指定したエラーが、私はここから続行する方法についてわからないよ

C:\Users\xxx\Desktop>pie.py 
    File "C:\Users\xxx\Desktop\pie.py", line 6 
    mnem={'inputRequests':'{'inputRequests':'[{'function':'xxx','identifier':'xx','mnemonic':'xxx'}]}} 
             ^
SyntaxError: invalid syntax 

ある

inputRequests={inputRequests: 
[ 
    {function:"xxx",identifier:"xxx",mnemonic:"xxx"}, 
    ] 
} 

:私は上記のここMNEMでこれを入力する方法を見つけることができません。要求のドキュメントで、データフィールドに複数の変数を挿入する方法を指摘するものは何も見つかりません。

+0

それは最新の試みの一つであった申し訳ありませんが。したがって、3つのパラメータを渡すための

を使用してみてください。私は以下のようにすべてを閉じ込めましたが、これはまだ動作しません:mnem = {'inputRequests':{'inputRequests':[{'function': 'GDSP'、 'identifier': 'ibm'、 'mnemonic': ' IQ_TOTAL_REV '}]}} –

+2

取得しているエラーメッセージは何かを含めてください。 – iled

答えて

0

Pythonのrequestsモジュールは、ポストリクエストでJSONデータとしてプロトタイプのPython dictを受け取りますが、文字列は受け取りません。したがって、このようなmnemを定義しようとする場合があります。

mnem = { 
    'inputRequests':[ 
     {'function':'GDSP', 
     'identifier':'ibm', 
     'mnemonic':'IQ_TOTAL_REV' 
     } 
    ]} 
+0

これはAPIからのエラーをトリガします。このエラーは、ニーモニックに間違いがあることを意味します。私は、同じリクエストでPostmanを通してapiに接続していると言及する必要があり、上記の入力要求が有効であるように結果を得ています。 \ 'を入力してください:\\ \ \ \ xxx \ Desktop> pi.py {'エラー ':'リクエストの処理中にエラーが発生しました '} –

+0

多分これは 'mnem = {' inputRequests ':{ ' inputRequests ':[ {' function ':' GDSP ' 、 '識別子': 'IBM' 'ニーモニック': 'IQ_TOTAL_REV' } ]}} '{ 'エラー' は、上記のように – LuCima

+0

同じエラー: 'エラー要求処理' このエラーは、リモート・サーバから受信される –

0

dataパラメータは辞書でなければなりません。

mnem = {'function':'GDSP','identifier':'ibm','mnemonic':'IQ_TOTAL_REV'} 
+0

これはAPIからのエラーを引き起こします:このエラーは、 '入力要求' part \ Users \ xxx \ Desktop>パイがないので、ニーモニックに間違いがあることを意味します。py {'エラー': 'リクエストの処理中にエラーが発生しました'} –