


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!

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

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

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.

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.

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

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.

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

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


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

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