Table des matières
Dépannage et résolution du problème que le code Python ne peut pas obtenir les données renvoyées par l'API
Description du problème
Analyse des problèmes et solutions
Maison développement back-end Tutoriel Python Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? Comment résoudre ce problème?

Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? Comment résoudre ce problème?

Apr 01, 2025 pm 08:09 PM
python windows appel de l'API Pourquoi

Pourquoi mon code ne peut-il pas faire renvoyer les données par l'API? Comment résoudre ce problème?

Dépannage et résolution du problème que le code Python ne peut pas obtenir les données renvoyées par l'API

Cet article analyse un cas de code Python qui renvoie des valeurs vides lors de l'appel ip-api.com à l'aide de la bibliothèque requests et fournit une solution.

Description du problème

Le code suivant essaie d'obtenir les informations IP par lots d' ip-api.com à l'aide d'une demande de publication, mais renvoie toujours une valeur nul:

 importer aléatoire, demandes, JSON

ip = [
  "49.104.25.257",
  "39.115.131.116"
]]

api = "http://ip-api.com/batch?fields=58898?lang=zh_cn"
en-têtes = {
    "User-Agent": "Mozilla / 5.0 (Windows NT 10.0; Win64; x64) Applewebkit / 537.36 (KHTML, comme Gecko) Chrome / 119.0.0.0 Safari / 537.36 EDG / 119.0.0.0",
    "contenu-type": "application / json"
    }

ip = json.dumps (ip, assure_ascii = false, indent = 2)
Imprimer (IP)

resp = requers.post (url = api, data = ip, en-têtes = en-têtes)
print (resp.status_code)
imprimer (resp.text)

resp.close ()

Cette API est une version gratuite avec une limite de 45 demandes par minute, en utilisant des demandes de poste, fields=58898 sont utilisés pour spécifier le champ de retour. Bien qu'il n'y ait aucun problème à interroger la propriété intellectuelle directement sur le site Web de l'API, le code renvoie toujours une valeur nulle et requests ne signale pas d'erreur.

Analyse des problèmes et solutions

Après avoir soigneusement vérifié la documentation du code et de l'API, j'ai constaté que le problème est les paramètres des paramètres de requête de l'URL. Dans le code d'origine, l'URL est:

 api = "http://ip-api.com/batch?fields=58898?lang=zh_cn"

& Connexion doit être utilisé entre plusieurs paramètres de requête, plutôt qu'une utilisation continue ? L'URL correcte doit être:

 api = "http://ip-api.com/batch?fields=58898&lang=zh_cn"

De plus, il est recommandé de définir le paramètre lang sur zh_CN pour s'assurer que les données chinoises sont renvoyées. Dans le même temps, User-Agent et content-type dans l'en-tête HTTP doivent utiliser la méthode de dénomination standard, avec les initiales capitalisées.

Voici le code complet modifié:

 Demandes d'importation
Importer JSON

ip = [
    "49.104.25.257",
    "39.115.131.116"
]]

api = "http://ip-api.com/batch?fields=58898&lang=zh_cn"
en-têtes = {
    "User-Agent": "Mozilla / 5.0 (Windows NT 10.0; Win64; x64) Applewebkit / 537.36 (KHTML, comme Gecko) Chrome / 119.0.0.0 Safari / 537.36 EDG / 119.0.0.0",
    "Contenu-type": "application / json"
}

ip = json.dumps (ip, assure_ascii = false, indent = 2)
Imprimer (IP)

resp = requers.post (url = api, data = ip, en-têtes = en-têtes)
print (resp.status_code)
imprimer (resp.text)

resp.close ()

En modifiant l'URL et l'en-tête HTTP, les données API renvoient peuvent être obtenues avec succès. Cet exemple illustre l'échec potentiel d'une erreur de syntaxe subtile dans les appels d'API, mettant l'accent sur l'importance des URL et des paramètres à double décocheur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Rimworld Odyssey Comment pêcher
1 Il y a quelques mois By Jack chen
Puis-je avoir deux comptes Alipay?
1 Il y a quelques mois By 下次还敢

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1506
276
Comment réparer 'le service audio ne fonctionne pas' dans Windows Comment réparer 'le service audio ne fonctionne pas' dans Windows Aug 08, 2025 am 09:52 AM

RestarThewindowsAudioserviceBySettingitsStartupTypetoAutomaticAndStartingItInservices, AntenSureWindowsAudioendPointBuildeRisal

Comment vérifier les problèmes de mémoire (RAM) dans Windows Comment vérifier les problèmes de mémoire (RAM) dans Windows Aug 08, 2025 am 10:49 AM

RunwindowsMemoryDiagnosticByPressingWindows R, TypingMdsched.exe, AndChoosingTorestartNowTocheckForproblems.2.AupterTheTest, OpenEventViewer (EventVwr.MSC), GOTOWINDOWSLOGS> Système, et LookforanentryWithSource: MemoryDiagnostic-ResultsAndentid: 1101ToVieCy

Comment réparer les mauvaises lettres de typage du clavier sous Windows Comment réparer les mauvaises lettres de typage du clavier sous Windows Aug 07, 2025 am 10:07 AM

DisableStickyKeysorFilterKeysViateSettings> Accessibilité> Clavier.2.EnsensureCorrectKeboardLayoutAndLanguageusingwin SpacedSettings> Time & Language.3.TesttheKeyboardonanotherDeviceOrSAfemodetOsolateHardwareorSoftwareSSUSS.4

Correction: Windows affiche 'le fichier ou le répertoire est corrompu et illisible' Correction: Windows affiche 'le fichier ou le répertoire est corrompu et illisible' Aug 07, 2025 pm 06:32 PM

Runchkdskx: /f/rtofixFilesystemErrorSandBadSecteurs, ScheduLingitonnexTrestartifnesseary.2.ExECUTESFC/SCanNowincommandPromptasAdministratorePaircorruptedWindowsSystemFiles.3.Usedism/online/cleanup-image/RestoreHealthIfSFicSoLSOR

Comment gérer les alias d'exécution des applications pour les outils de ligne de commande dans Windows Comment gérer les alias d'exécution des applications pour les outils de ligne de commande dans Windows Aug 08, 2025 pm 04:22 PM

TomanageAPPecutionaliasesInwindows, GotoSettings → Apps → AppexucutionaliasesESESEDSABLECONFLICTTOGGGLESLILYPYTHON.exeorgit.exe; 2. ThispreventsWindowsFromPririzingStoreversionSiseWingByrunningwhe

Comment résoudre les erreurs du système de fichiers dans Windows Comment résoudre les erreurs du système de fichiers dans Windows Aug 08, 2025 pm 04:12 PM

Runchkdskwithcommandchkdskc: /f/rinadmincommandpromptScanandfixfileSystemError Fcbyrunningsfc / scannowtorepaircorruptedwindowssystemfiles, andifneeded, rundism / online / cleanup-image / restorehealthbefresfc.3.u

Comment imprimer un fichier JSON dans Python? Comment imprimer un fichier JSON dans Python? Aug 07, 2025 pm 12:10 PM

Pour embellir et imprimer des fichiers JSON, vous devez utiliser les paramètres de retrait du module JSON. Les étapes spécifiques sont: 1. Utilisez JSON.Load () pour lire les données du fichier JSON; 2. Utilisez JSON.Dump () et définissez un indent sur 4 ou 2 pour écrire dans un nouveau fichier, puis le fichier JSON formaté peut être généré et l'impression embellinée peut être terminée.

Comment pouvez-vous prévenir les vulnérabilités d'injection SQL dans votre code Python? Comment pouvez-vous prévenir les vulnérabilités d'injection SQL dans votre code Python? Aug 07, 2025 am 10:30 AM

L'utilisation de requêtes paramétrées est la méthode de base pour empêcher l'injection SQL dans Python, et il est nécessaire d'éviter l'épissage direct de l'entrée utilisateur. 1. Utilisez toujours les requêtes paramétrées prises en charge par les pilotes de base de données, tels que les mécanismes d'espace réservé dans SQLite3, PSYCOPG2 et MySQL-Connector-Python; 2. Il est interdit de construire des instructions SQL via l'épissage ou le formatage des chaînes (tels que F-string, .format ()); 3. La priorité est donnée à l'utilisation de bibliothèques ORM telles que Sqlalchemy ou Djangoorm, qui utilisent des requêtes paramétrées par défaut; 4. Vérification et filtrage des entrées utilisateur comme défense supplémentaire, y compris le type, la longueur et la vérification de la liste blanche; 5. Lors de la gestion des noms de table dynamiques ou des noms de colonne, le blanc doit être utilisé.

See all articles