cari
Rumahpembangunan bahagian belakangTutorial PythonMengapa 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?

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 ()

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"

& 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"

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 ()

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
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
Untuk jenis operasi apakah array jauh lebih cepat daripada senarai?Untuk jenis operasi apakah array jauh lebih cepat daripada senarai?May 07, 2025 am 12:01 AM

ArraysaresinicantantlyfasterthanlistsforoperationsbenefitingFromDirectMemoryAccessandFixed-Sizestructures.1) AccessingingElements: arraysprovideConstant-timeaccessduetocontiguousmemoryStorage.2)

Terangkan perbezaan prestasi dalam operasi elemen-bijak antara senarai dan tatasusunan.Terangkan perbezaan prestasi dalam operasi elemen-bijak antara senarai dan tatasusunan.May 06, 2025 am 12:15 AM

ArraysareBetterforelement-wiseoperationsduetofasteraccessandoptimizedImplementations.1) arrayshavecontiguousmemoryfordirectaccess, enhancingperformance.2) listsareflexibleButslowerduetopotentiahyiLys.3)

Bagaimanakah anda boleh melakukan operasi matematik pada keseluruhan array Numpy dengan cekap?Bagaimanakah anda boleh melakukan operasi matematik pada keseluruhan array Numpy dengan cekap?May 06, 2025 am 12:15 AM

Operasi matematik keseluruhan array di Numpy dapat dilaksanakan dengan cekap melalui operasi vektor. 1) Gunakan pengendali mudah seperti tambahan (ARR 2) untuk melaksanakan operasi pada tatasusunan. 2) Numpy menggunakan perpustakaan bahasa C yang mendasari, yang meningkatkan kelajuan pengkomputeran. 3) Anda boleh melakukan operasi kompleks seperti pendaraban, pembahagian, dan eksponen. 4) Perhatikan operasi penyiaran untuk memastikan bahawa bentuk array bersesuaian. 5) Menggunakan fungsi numpy seperti np.sum () dapat meningkatkan prestasi dengan ketara.

Bagaimana anda memasukkan elemen ke dalam array python?Bagaimana anda memasukkan elemen ke dalam array python?May 06, 2025 am 12:14 AM

Di Python, terdapat dua kaedah utama untuk memasukkan elemen ke dalam senarai: 1) Menggunakan kaedah memasukkan (indeks, nilai), anda boleh memasukkan elemen pada indeks yang ditentukan, tetapi memasukkan pada permulaan senarai besar tidak cekap; 2) Menggunakan kaedah append (nilai), tambahkan elemen pada akhir senarai, yang sangat berkesan. Untuk senarai besar, disarankan untuk menggunakan append () atau pertimbangkan menggunakan array deque atau numpy untuk mengoptimumkan prestasi.

Bagaimana anda boleh membuat skrip python boleh dilaksanakan pada kedua -dua Unix dan Windows?Bagaimana anda boleh membuat skrip python boleh dilaksanakan pada kedua -dua Unix dan Windows?May 06, 2025 am 12:13 AM

TomakeapythonscriptexecutableonbothunixandWindows: 1) addashebangline (#!/Usr/bin/envpython3) andusechmod xtomakeitexecutableonunix.2) onwindows, memastikanpythonisinstalledandAssociateWith.pyhiles, runeAtAsdiStAnToSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSoSo.

Apa yang perlu anda periksa jika anda mendapat ralat 'perintah tidak dijumpai' apabila cuba menjalankan skrip?Apa yang perlu anda periksa jika anda mendapat ralat 'perintah tidak dijumpai' apabila cuba menjalankan skrip?May 06, 2025 am 12:03 AM

Apabila menghadapi kesilapan "commandnotfound", perkara -perkara berikut harus diperiksa: 1. Sahkan bahawa skrip ada dan jalannya betul; 2. Semak kebenaran fail, dan gunakan ChMod untuk menambah kebenaran pelaksanaan jika perlu; 3. Pastikan penterjemah skrip dipasang dan di jalan; 4. Sahkan bahawa garis shebang pada permulaan skrip adalah betul. Melakukannya dengan berkesan dapat menyelesaikan masalah operasi skrip dan memastikan proses pengekodan lancar.

Kenapa array secara amnya lebih cekap memori daripada senarai untuk menyimpan data berangka?Kenapa array secara amnya lebih cekap memori daripada senarai untuk menyimpan data berangka?May 05, 2025 am 12:15 AM

ArraysareGenerallymorememememory-efficientthanlistsforstoringnumericaldataduetotheirfixed-sizenatureanddirectmemoryaccess.1) arraysstoreelementsinacontiguousblock, reducingoverheadfrointersormetadata.2)

Bagaimana anda boleh menukar senarai python ke array python?Bagaimana anda boleh menukar senarai python ke array python?May 05, 2025 am 12:10 AM

ToConvertapythonlisttoanarray, usetheArraymodule: 1) importThearraymodule, 2) createalist, 3) UseArray (typecode, list) toConvertit, spesifyingthetypecodelike'i'forintegers.ThisconversionOptimizesMogenhomogeneousdata, enHomerMogeneShomogeneousdata, enHomerMogeneousdata, enhomoMogenerDataShomaSdata, enhomoMogenhomogeneousdata,

See all articles

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

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),