Jadual Kandungan
Menyelesaikan masalah dan menyelesaikan masalah yang kod python tidak dapat memperoleh data yang dikembalikan oleh API
Penerangan Masalah
Analisis dan penyelesaian masalah
Rumah pembangunan bahagian belakang Tutorial Python Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Bagaimana menyelesaikan masalah ini?

Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Bagaimana menyelesaikan masalah ini?

Apr 01, 2025 pm 08:09 PM
python windows panggilan api kenapa

Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Bagaimana menyelesaikan masalah ini?

Menyelesaikan masalah dan menyelesaikan masalah yang kod python tidak dapat memperoleh data yang dikembalikan oleh API

Artikel ini menganalisis kes kod python yang mengembalikan nilai kosong apabila memanggil API ip-api.com menggunakan Perpustakaan requests dan menyediakan penyelesaian.

Penerangan Masalah

Kod berikut cuba mendapatkan maklumat IP batch ip-api.com menggunakan permintaan pos, tetapi sentiasa mengembalikan nilai null:

 Import Rawak, Permintaan, JSON

ip = [
  "49.104.25.257",
  "39.115.131.116"
]

API = "http://ip-api.com/batch?fields=58898?lang=zh_cn"
tajuk = {
    "Agen Pengguna": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Applewebkit/537.36 (KHTML, seperti Gecko) Chrome/119.0.0.0 Safari/537.36 EDG/119.0.0",
    "Kandungan-jenis": "Aplikasi/JSON"
    }

ip = json.dumps (ip, sure_ascii = false, indent = 2)
Cetak (IP)

resp = requests.post (url = api, data = ip, headers = headers)
cetak (resp.status_code)
cetak (resp.text)

resp.close ()
Salin selepas log masuk

API ini adalah versi percuma dengan had 45 permintaan seminit, menggunakan permintaan pos, fields=58898 digunakan untuk menentukan medan balik. Walaupun tidak ada masalah dalam menanyakan IP secara langsung di laman web API, kod tersebut sentiasa mengembalikan nilai null dan Perpustakaan requests tidak melaporkan ralat.

Analisis dan penyelesaian masalah

Setelah memeriksa dengan teliti kod dan dokumentasi API, saya mendapati bahawa masalahnya adalah tetapan parameter pertanyaan URL. Dalam kod asal, URL adalah:

 API = "http://ip-api.com/batch?fields=58898?lang=zh_cn"
Salin selepas log masuk

& Sambungan harus digunakan di antara parameter pertanyaan berganda, dan bukannya penggunaan berterusan ? URL yang betul mestilah:

 API = "http://ip-api.com/batch?fields=58898&lang=zh_cn"
Salin selepas log masuk

Di samping itu, adalah disyorkan untuk menetapkan parameter lang ke zh_CN untuk memastikan data Cina dikembalikan. Pada masa yang sama, User-Agent dan content-type dalam header HTTP harus menggunakan kaedah penamaan standard, dengan inisial yang dipermodalkan.

Inilah kod lengkap yang diubah suai:

 permintaan import
Import JSON

ip = [
    "49.104.25.257",
    "39.115.131.116"
]

API = "http://ip-api.com/batch?fields=58898&lang=zh_cn"
tajuk = {
    "Agen Pengguna": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Applewebkit/537.36 (KHTML, seperti Gecko) Chrome/119.0.0.0 Safari/537.36 EDG/119.0.0",
    "Kandungan-jenis": "Aplikasi/JSON"
}

ip = json.dumps (ip, sure_ascii = false, indent = 2)
Cetak (IP)

resp = requests.post (url = api, data = ip, headers = headers)
cetak (resp.status_code)
cetak (resp.text)

resp.close ()
Salin selepas log masuk

Dengan mengubah suai header URL dan HTTP, data pulangan API dapat diperolehi dengan jayanya. Contoh ini menggambarkan kegagalan potensi kesilapan sintaks halus dalam panggilan API, menekankan pentingnya URL dan parameter pemeriksaan dua kali.

Atas ialah kandungan terperinci Mengapa kod saya tidak dapat mendapatkan data yang dikembalikan oleh API? Bagaimana menyelesaikan masalah ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1657
14
Tutorial PHP
1257
29
Tutorial C#
1229
24
Cara memaparkan kategori kanak -kanak di halaman arkib kategori induk Cara memaparkan kategori kanak -kanak di halaman arkib kategori induk Apr 19, 2025 pm 11:54 PM

Adakah anda ingin tahu cara memaparkan kategori kanak -kanak di halaman arkib kategori induk? Apabila anda menyesuaikan halaman arkib klasifikasi, anda mungkin perlu melakukan ini untuk menjadikannya lebih berguna kepada pelawat anda. Dalam artikel ini, kami akan menunjukkan kepada anda bagaimana untuk memaparkan kategori kanak -kanak dengan mudah di halaman arkib kategori induk. Mengapa subkategori muncul di halaman arkib kategori induk? Dengan memaparkan semua kategori kanak -kanak di halaman arkib kategori induk, anda boleh menjadikannya kurang generik dan lebih berguna kepada pelawat. Sebagai contoh, jika anda menjalankan blog WordPress mengenai buku dan mempunyai taksonomi yang disebut "tema", anda boleh menambah sub-taksonomi seperti "novel", "bukan fiksyen" supaya pembaca anda dapat

Mengapa kenaikan atau kejatuhan harga mata wang maya? Mengapa kenaikan atau kejatuhan harga mata wang maya? Mengapa kenaikan atau kejatuhan harga mata wang maya? Mengapa kenaikan atau kejatuhan harga mata wang maya? Apr 21, 2025 am 08:57 AM

Faktor kenaikan harga mata wang maya termasuk: 1. Peningkatan permintaan pasaran, 2. Menurunkan bekalan, 3. Berita positif yang dirangsang, 4. Sentimen pasaran optimis, 5. Persekitaran makroekonomi; Faktor penurunan termasuk: 1. Mengurangkan permintaan pasaran, 2. Peningkatan bekalan, 3.

Kenapa projek musim bunga menyebabkan masalah rawak akibat kebergantungan bulat apabila bermula? Kenapa projek musim bunga menyebabkan masalah rawak akibat kebergantungan bulat apabila bermula? Apr 19, 2025 pm 11:21 PM

Memahami rawak kebergantungan bulat dalam permulaan projek musim bunga. Semasa membangunkan projek musim bunga, anda mungkin menghadapi rawak yang disebabkan oleh kebergantungan bulat pada permulaan projek ...

Adakah projek Python perlu berlapis? Adakah projek Python perlu berlapis? Apr 19, 2025 pm 10:06 PM

Perbincangan mengenai struktur hierarki dalam projek Python Dalam proses pembelajaran Python, banyak pemula akan bersentuhan dengan beberapa projek sumber terbuka, terutama projek menggunakan kerangka Django ...

Python vs C: Bahasa mana yang harus dipilih untuk projek anda? Python vs C: Bahasa mana yang harus dipilih untuk projek anda? Apr 21, 2025 am 12:17 AM

Memilih Python atau C bergantung kepada keperluan projek: 1) Jika anda memerlukan pembangunan pesat, pemprosesan data dan reka bentuk prototaip, pilih Python; 2) Jika anda memerlukan prestasi tinggi, latensi rendah dan kawalan perkakasan yang rapat, pilih C.

Python vs C: Memahami perbezaan utama Python vs C: Memahami perbezaan utama Apr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Kenapa nilai pulangan kosong apabila menggunakan redistemplate untuk pertanyaan batch? Kenapa nilai pulangan kosong apabila menggunakan redistemplate untuk pertanyaan batch? Apr 19, 2025 pm 10:15 PM

Kenapa nilai pulangan kosong apabila menggunakan redistemplate untuk pertanyaan batch? Apabila menggunakan Redistemplate untuk operasi pertanyaan batch, anda mungkin menghadapi hasil yang dikembalikan ...

Memilih antara python dan c: bahasa yang sesuai untuk anda Memilih antara python dan c: bahasa yang sesuai untuk anda Apr 20, 2025 am 12:20 AM

Python sesuai untuk pemula dan sains data, dan C sesuai untuk pengaturcaraan sistem dan pembangunan permainan. 1. Python adalah mudah dan mudah digunakan, sesuai untuk sains data dan pembangunan web. 2.C menyediakan prestasi dan kawalan yang tinggi, sesuai untuk pembangunan permainan dan pengaturcaraan sistem. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

See all articles