Saya membuat API di situs saya dan saya mencoba memanggil API dari python tetapi saya selalu mendapatkan 406 sebagai respons, namun, jika saya meletakkan url di browser dengan parameter, saya dapat melihat jawaban yang benar

Saya sudah melakukan beberapa pengujian di halaman di mana Anda dapat menguji API Anda sendiri, saya mengujinya di browser dan berfungsi dengan baik. Saya sudah menindaklanjuti manual yang menjelaskan cara memanggil API dari python tetapi saya tidak mendapatkan respons yang benar :(

Ini adalah URL API dengan params: https://icassy.com/api/login.php? usuario_email=warles34%40gmail.com&usuario_clave=123

Ini adalah kode yang saya gunakan untuk memanggil API dari Python

import requests
urlLogin = "https://icassy.com/api/login.php"
params = {'usuario_email': 'warles34@gmail.com', 'usuario_clave': '123'}
r = requests.get(url=urlLogin, data=params)
print(r)
print(r.content)

Dan saya mendapatkan:

<Response [406]>
b'<head><title>Not Acceptable!</title></head><body><h1>Not Acceptable!</h1><p>An appropriate representation of the requested resource could not be found on this server. This error was generated by Mod_Security.</p></body></html>'

Saya harus menerima dalam format JSON pesan sukses dan apikey seperti ini:

{ "Message": "login sukses.", "Apikey": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC9leGFtcGxlLm9yZyIsImF1ZCI6Imh0dHA6XC9cL2ljYXNzeS5jb20iLCJpYXQiOjEzNTY5OTk1MjQsIm5iZiI6MTM1NzAwMDAwMCwiZGF0YSI6eyJ1c3VhcmlvX2lkIjoiMzQiLCJ1c3VhcmlvX25vbWJyZSI6IkNhcmxvcyIsInVzdWFyaW9fYXBlbGxpZG8iOiJQZXJleiIsInVzdWFyaW9fZW1haWwiOiJ3YXJsZXMzNEBnbWFpbC5jb20ifX0.bOhrC-vXhQEHtbbZGmhLByCxvJY7YxDrLhVOfy9zeFc"}

3
Samper 8 Agustus 2019, 20:21

1 menjawab

Jawaban Terbaik

Sepertinya ada validasi di server untuk memeriksa apakah permintaan dibuat dari beberapa browser. Menambahkan tajuk agen pengguna harus melakukannya -

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
r = requests.get(url=urlLogin, params=params, headers=headers)

Tautan agen pengguna ini mungkin berguna di masa mendatang.

8
Sushant 12 Agustus 2019, 15:53