kzen.dev
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
Donal M
Donal M
Question

Mengirim permintaan JSON dengan Python

Saya baru mengenal layanan web dan mencoba mengirim permintaan berbasis JSON berikut menggunakan skrip python:

http://myserver/emoncms2/api/post?apikey=xxxxxxxxxxxxx&json={power:290.4,temperature:19.4}

Jika saya menempelkan data di atas ke dalam browser, maka akan berfungsi seperti yang diharapkan. Namun, saya kesulitan untuk mengirim permintaan dari Python. Berikut ini adalah apa yang saya coba:

import json
import urllib2
data = {'temperature':'24.3'}
data_json = json.dumps(data)
host = "http://myserver/emoncms2/api/post"
req = urllib2.Request(host, 'GET', data_json, {'content-type': 'application/json'})
response_stream = urllib2.urlopen(req)
json_response = response_stream.read()

Bagaimana cara menambahkan data apikey ke dalam permintaan?

Terima kasih!

21 2011-12-26T09:31:41+00:00 3
Pemrograman
python
json
Solution / Answer
 simao
simao
26 Desember 2011 в 10:34
2011-12-26T10:34:07+00:00
Lebih
Sumber
Sunting
#15051420

Daripada menggunakan urllib2, Anda dapat menggunakan request. Lib python baru ini ditulis dengan sangat baik dan lebih mudah dan lebih intuitif untuk digunakan.

Untuk mengirim data json Anda, Anda dapat menggunakan sesuatu seperti kode berikut:

import json
import requests
data = {'temperature':'24.3'}
data_json = json.dumps(data)
payload = {'json_payload': data_json, 'apikey': 'YOUR_API_KEY_HERE'}
r = requests.get('http://myserver/emoncms2/api/post', data=payload)

Anda kemudian dapat memeriksa r untuk mendapatkan kode status http, konten, dll

Alex W
Alex W
Jawaban edit 1 Maret 2016 в 7:03
34
0
 Guy
Guy
26 Desember 2011 в 11:10
2011-12-26T11:10:35+00:00
Lebih
Sumber
Sunting
#15051422

Mungkin masalahnya adalah json.dumps menempatkan " dan di dalam json yang Anda masukkan ke dalam url tidak ada "s. Sebagai contoh:

data = {'temperature':'24.3'}
print json.dumps(data)

mencetak:

{"temperature": "24.3"}

dan bukan:

{suhu: 24.3}

seperti yang Anda masukkan ke dalam url Anda.

Salah satu cara untuk menyelesaikan ini (yang rawan masalah) adalah dengan melakukan:

json.dumps(data).replace('"', '')
2
0
 leberknecht
leberknecht
27 Maret 2019 в 2:47
2019-03-27T14:47:34+00:00
Lebih
Sumber
Sunting
#15051423

Meskipun hal ini tidak menjawab pertanyaan OP secara tepat, harus disebutkan di sini bahwa modul requests memiliki opsi json yang dapat digunakan seperti ini:


import permintaan

requests.post(
    'http://myserver/emoncms2/api/post?apikey=xxxxxxxxxxxxx',
    json={"temperature": "24.3"}
)

```
yang akan setara dengan curl:
```bash
curl 'http://myserver/emoncms2/api/post?apikey=xxxxxxxxxxxxx' \
    -H 'Content-Type: application/json' \
    --data-binary '{&"temperature":"24.3"}'

```
1
0
Related communities 6
Python Indonesia
Python Indonesia
25 937 pengguna
Programmer Python Indonesia. Group ini dikelola oleh sejumlah admin. Baca pesan tersemat / pinned message: https://t.me/pythonID/217588
Buka telegram
Indonesian Python Warriors
Indonesian Python Warriors
1 437 pengguna
Di grup ini tidak ada kewajiban untuk menggunakan username dan foto. Yang tidak boleh adalah spamming. Gak boleh baper, kalau nanya yang bener, eror jangan difoto pake HP, gunakan screenshot, code copas ke dpaste.org lalu share link ke sini.
Buka telegram
Python-ID Jogja
Python-ID Jogja
949 pengguna
Buka telegram
Python Newbie Indonesia
Python Newbie Indonesia
384 pengguna
Peraturan grup Python Newbie 🌻Dilarang spam 🌻Dilarang menggunakan bahasa kasar 🌻Dilarang beriklan di grup tanpa seizin admin Beberapa video dasar python dapat diliat melalui channel youtube juan aditya Jangan lupa untuk subscribe ya🙏
Buka telegram
BASIC PYTHON INDONESIA
BASIC PYTHON INDONESIA
342 pengguna
Buka telegram
PythonWealth Indonesia 🇮🇩
PythonWealth Indonesia 🇮🇩
18 pengguna
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
工藤 芳則
Terdaftar 6 hari yang lalu
2
Ирина Беляева
Terdaftar 1 minggu yang lalu
3
Darya Arsenyeva
Terdaftar 1 minggu yang lalu
4
anyta nuam-nuam (LapuSiK)
Terdaftar 1 minggu yang lalu
5
Shuhratjon Imomkulov
Terdaftar 1 minggu yang lalu
ID
JA
© kzen.dev 2023
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi