http get python dotaz klíč - hodnota

hlasů
0

Napište funkci s názvem „QUERY_STRING“, který nebere žádné parametry. Funkce bude HTTPS GET požadavek na url „je https://fury.cse.buffalo.edu/ps-api/a “ s dotazovací řetězec obsahující páry klíč-hodnota x = 5, y = 4, a z = 5. Odezva ze serveru bude JSON řetězec představující objekt ve formátu „{“ odpověď „:}“, kde je plovoucí bod číslo. Vrátit hodnotu na klíč „odpověď“ jako float

    import urllib.request
    import json

    def query_string():
        response = urllib.request.urlopen(https://fury.cse.buffalo.edu/ps-api/a)
        content_string = response.read().decode()
        content=json.loads(content_string)
        return float(content['answer'])

Výstup: Funkce QUERY_STRING nesprávné na vstupu []

odpověděl: -1.0 očekávání: 119,99

vůbec ponětí, jak mohu tento problém vyřešit?

Položena 27/11/2018 v 18:04
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0
import urllib.request
import json

def query_string():
    url = "https://fury.cse.buffalo.edu/ps-api/a"
    url = url + "?x=5&y=4&z=5"
    response = urllib.request.urlopen(url)
    content_string = response.read().decode()
    content=json.loads(content_string)
    return float(content['answer'])

skončil kterým se to poté, co malý průzkum

Odpovězeno 27/11/2018 v 18:33
zdroj uživatelem

hlasů
0

Můžete udělat něco takového pomocí balíčku žádosti. Je to super užitečné. Můžete přidat parametry dotazu v dict, který je předán do paramsargumentu klíčových slov

def query_string():
    import requests
    url=r'https://fury.cse.buffalo.edu/ps-api/a'
    payload={
    'x':5,
    'y':4,
    'z':5}
    r=requests.get(url,params=payload)
    j=r.json()
    print(j)

EDIT pro urllib

def query_string():
    url=r'https://fury.cse.buffalo.edu/ps-api/a'
    payload={
    'x':5,
    'y':4,
    'z':5}
    url=url+'?'+urllib.parse.urlencode(payload)
    r=urllib.request.urlopen(url).read().decode()
    r=json.loads(r)
    return float(r['answer'])
Odpovězeno 27/11/2018 v 18:11
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more