Wpis z mikrobloga

Jak mogę wysłać jakąś treść zakodowaną w JSON metodą GET?

Tak to wygląda w POSTmanie, ale to nie jest jeszcze JSON
http://localhost:41062/www/index.php?filtr=ChceJSON

Jak mam być szczery to pali mi to styki.
Docelowy klient ma być w #python - na razie mam to:

import urllib.request
import urllib.parse
data = {}
data['filtr'] = 'wiadomość'
url_values = urllib.parse.urlencode(data)
print(url_values) # The order may differ from below.

url = '[http://127.0.0.1:5000/api/users/list'](http://127.0.0.1:5000/api/users/list') # Set destination URL here
full_url = url + '?' + url_values
print(full_url)
data = urllib.request.urlopen(full_url)

response = requests.get('[http://127.0.0.1:5000/api/users/list?filtr=abba')](http://127.0.0.1:5000/api/users/list?filtr=abba'))

ALE serwer ciągle mi zwraca, ze to nie jest poprawny JSON, tak wygląda ten fragment kodu po stronie serwera:

async def list(request):
# get_all_users()
# request = Request.headers.fget(request)
# payload = users.decode_token(request["token"])
try:
request = await Request.json(request)
#raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="{'error' : 'wrong_data'}")
except json.decoder.JSONDecodeError:
raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="{'error' : 'wrong_data'}")

#linux #programowanie #php #programista15k #webdev #api
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@fervi: wiem, że nie jest, ale nie umiem tego poprawnie zakodować json w python i próbuje znaleźć jakiś przykład do wpisania w URL z płaca w necie.
  • Odpowiedz
@pyroxar: przeczytałem parę razy Twój problem i tak go rozumiem: chcesz metodą GET przesłać payload w postaci json do serwera. W tym przypadku coś takiego masz np. tutaj: https://stackoverflow.com/a/8634905

Tam w przykładzie się jeszcze rozchodzi skąd wziął się ten json do wysłania - czy z dicta pythonowego czy czego, stąd tam json_dumps, który robi Ci właściwy "surowy" json string, który można gdzieś wysłać, bo inaczej wyślesz "surowego" dicta pythonowego,
  • Odpowiedz