2017-02-28 1 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에서 오류가 발생했습니다. 원래 형식은 다음과 같습니다. 나는 위에 여기 mnem이를 입력 할 수있는 방법을 찾을 수 없습니다 :

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

주어진 오류는 여기에서 진행 할 수 있겠군요 오전

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 

입니다. 요청 문서에서 데이터 필드에 여러 변수를 삽입하는 방법을 가리키는 항목을 찾을 수 없습니다.

+0

죄송 최신 시도 중 하나였다 :

따라서 세 개의 매개 변수를 사용하려고 전달합니다. 나는 다음과 같이 모든 것을 묶었지만 여전히 작동하지 않는다 : mnem = { 'inputRequests': {{ 'function': 'GDSP', 'identifier': 'ibm', '니모닉': ' IQ_TOTAL_REV '}]}} –

+2

받고있는 오류 메시지를 포함하십시오. – iled

답변

0

파이썬의 requests 모듈은 포스트 요청에서 JSON 데이터로 protogenic Python dict을 수신하지만 문자열은 수신하지 않습니다. 따라서이 같은 mnem을 정의하려고 할 수 있습니다 :

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

이로 인해 API에서 오류가 발생합니다.이 오류는 니모닉에 실수가 있음을 나타냅니다. 나는 동일한 요청으로 우편 배달부를 통해 API에 연결하는 중임을 언급해야하며 위에 입력 요청이 유효하도록 결과를 얻고 있습니다. \\ User \ xxx \ Desktop> pie.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 { '오류': '요청 처리 중 오류'} –