REST JSON-запрос с Python - PullRequest
       5

REST JSON-запрос с Python

0 голосов
/ 26 октября 2018

Я сталкиваюсь со следующей ошибкой при выполнении запроса REST с Python.

Примечание. Этот API-интерфейс может помочь определить, является ли отдельный адрес актуальным, введя индивидуальный адрес, имя, фамилию и т. Д.

Ниже мой код.

import requests
import json

req = requests.get('https://smartmover.melissadata.net/v3/WEB/SmartMover/doSmartMover
?t=1353
&id=428h8f8ghd8u
&jobid=1
&act=NCOA, CCOA
&cols=TransmissionResults,TransmissionReference, Version, TotalRecords,CASSReportLink,NCOAReportLink,Records,AddressExtras,AddressKey,AddressLine1,AddressLine2,AddressTypeCode,BaseMelissaAddressKey,CarrierRoute,City,CityAbbreviation,CompanyName,CountryCode,CountryName,DeliveryIndicator,DeliveryPointCheckDigit,DeliveryPointCode,MelissaAddressKey,MoveEffectiveDate,MoveTypeCode,PostalCode,RecordID,Results,State,StateName,Urbanization
&opt=ProcessingType: Standard
&List=test
&full=PATEL MANISH
&first=MANISH
&last=PATEL
&a1=1600 S 5TH ST                                               
&a2=1600 S 5TH ST                                               
&city=Austin
&state=TX
&postal=78704
&ctry=USA

Ниже моя ошибка.

  File "C:\Users\testu\Documents\api.py", line 4
    req = requests.get('https://smartmover.melissadata.net/v3/WEB/SmartMover/doSmartMover
                                                                                        ^
SyntaxError: EOL while scanning string literal

Ниже приведен отрывок из документации для REST JSON. (Ссылка: http://wiki.melissadata.com/index.php?title=SmartMover_V3%3AREST_JSON)

Запрос REST

https://smartmover.melissadata.net/v3/WEB/SmartMover/doSmartMover
?t={Transmission Reference}
&id={License Key}
&jobid={Job ID}
&pafid={PAF ID}
&act={Actions}
&cols={Columns}
&opt={Options}
&List={List Name}
&comp={Company}
&full={Name Full}
&first={Name First}
&Middle={Name Middle}
&Namepre={Name Prefix}
&Namesfx={Name Suffix}
&last={Name Last}
&u={Urbanization}
&a1={Address Line 1}
&a2={Address Line 2}
&ste={Suite}
&pmb={Private Mailbox}
&city={City}
&state={State}
&postal={Postal Code}
&plus4={Plus4}
&ctry={Country}
&format={Format}

Ниже приведена выдержка из документации для поля запроса. (Ссылка: http://wiki.melissadata.com/index.php?title=SmartMover_V3%3ARequest)

Справочник по передаче

  • Дополнительно. Это строковое значение, которое служит уникальным идентификатором для этого набора записей. Возвращается как отправлено.
    • ОТДЫХ:? T ​​= строка
    • JSON: «TransmissionReference»: «строка»

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 26 октября 2018

Вы должны использовать dict для передачи аргументов запроса:

url = 'https://smartmover.melissadata.net/v3/WEB/SmartMover/doSmartMover'
qargs = {'t': '...', 'id': '...', ..., 'format': '...'}
response = requests.get(url, params=qargs)

Просмотр документации: http://docs.python -requests.org / en / master / user / quickstart / # pass-parameters-in-urls

Исключением, которое вы получаете в своем коде, является синтаксическая ошибка Python, кстати.Строковый литерал Python, использующий ' или ", является однострочным.В Python есть поддержка многострочных строковых литералов, использующих """ / '''.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...