suchen
HeimBackend-EntwicklungPython-TutorialWarum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem?

Warum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem?

Fehlerbehebung und Lösung des Problems, dass der Python -Code die von der API zurückgegebenen Daten nicht erhalten kann

Dieser Artikel analysiert einen Python-Code-Fall, der leere Werte zurückgibt, wenn ip-api.com mithilfe der requests aufgerufen und eine Lösung bereitgestellt wird.

Problembeschreibung

Der folgende Code versucht, die Stapel-IP-Informationen von ip-api.com mithilfe einer Postanforderung zu erhalten, gibt jedoch immer einen Nullwert zurück:

 Zufällige importieren, Anfragen, JSON

ip = [
  "49.104.25.257",
  "39.115.131.116"
]

api = "http://ip-api.com/batch?fields=58898?lang=ZH_CN"
Headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Applewebkit/537,36 (KHTML, wie Gecko) Chrome/119.0.0.0 Safari/537.36 EDG/119.0.0.0.0", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", "
    "Inhaltstyp": "Anwendung/JSON"
    }

ip = json.dumps (ip, safe_ascii = false, indent = 2)
Druck (IP)

resp = requests.post (url = api, data = ip, Header = Header)
print (resp.status_code)
print (resp.text)

resp.close ()

Diese API ist eine kostenlose Version mit einem Limit von 45 Anfragen pro Minute unter Verwendung von Postanforderungen, fields=58898 wird verwendet, um das Rückgabebuch anzugeben. Obwohl es kein Problem gibt, die IP direkt auf der API -Website abzufragen, gibt der Code immer einen Nullwert zurück und requests Anforderungsbibliothek meldet keinen Fehler.

Problemanalyse und Lösungen

Nachdem ich die Code- und API -Dokumentation sorgfältig überprüft hatte, stellte ich fest, dass das Problem die Abfrageparametereinstellungen der URL sind. Im ursprünglichen Code ist die URL:

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

& Verbindung sollten zwischen mehreren Abfrageparametern und nicht zwischen kontinuierlicher Verwendung verwendet werden ? Die richtige URL sollte sein:

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

Zusätzlich wird empfohlen, den lang -Parameter auf zh_CN einzustellen, um sicherzustellen, dass chinesische Daten zurückgegeben werden. Gleichzeitig sollten User-Agent und content-type im HTTP-Header die Standard-Benennungsmethode verwenden, wobei die Initialen aktiviert sind.

Hier ist der geänderte vollständige Code:

 Anfragen importieren
JSON importieren

ip = [
    "49.104.25.257",
    "39.115.131.116"
]

api = "http://ip-api.com/batch?fields=58898&lang=zh_cn"
Headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Applewebkit/537,36 (KHTML, wie Gecko) Chrome/119.0.0.0 Safari/537.36 EDG/119.0.0.0.0", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", ",", "
    "Inhaltstyp": "Anwendung/JSON"
}

ip = json.dumps (ip, safe_ascii = false, indent = 2)
Druck (IP)

resp = requests.post (url = api, data = ip, Header = Header)
print (resp.status_code)
print (resp.text)

resp.close ()

Durch Ändern des URL- und HTTP -Headers können die API -Rückgabedaten erfolgreich erhalten werden. Dieses Beispiel zeigt den potenziellen Fehler eines subtilen Syntaxfehlers in API-Aufrufen und betont die Bedeutung von URLs und Parametern der Doppelüberprüfung.

Das obige ist der detaillierte Inhalt vonWarum kann mein Code nicht die von der API zurückgegebenen Daten erhalten? Wie löst ich dieses Problem?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Pythons Hybridansatz: Zusammenstellung und Interpretation kombiniertPythons Hybridansatz: Zusammenstellung und Interpretation kombiniertMay 08, 2025 am 12:16 AM

Pythonusesahybridapproach, kombinierte CompilationTobyteCodeAnDinterpretation.1) codiscompiledtoplatform-unintenpendentBytecode.2) BytecodeIsinterpretedBythepythonvirtualMachine, EnhancingEfficiency und Portablabilität.

Erfahren Sie die Unterschiede zwischen Pythons 'für' und 'while the' LoopsErfahren Sie die Unterschiede zwischen Pythons 'für' und 'while the' LoopsMay 08, 2025 am 12:11 AM

Die Keedifferzences -zwischen Pythons "für" und "während" Loopsare: 1) "für" LoopsareideAlForiteratingOvercesorknownowniterations, während 2) "LoopsarebetterForContiningUtilAconditionismethoutnredefineditInations.un

Python verkettet Listen mit DuplikatenPython verkettet Listen mit DuplikatenMay 08, 2025 am 12:09 AM

In Python können Sie Listen anschließen und doppelte Elemente mit einer Vielzahl von Methoden verwalten: 1) Verwenden von Operatoren oder erweitert (), um alle doppelten Elemente beizubehalten; 2) Konvertieren in Sets und kehren Sie dann zu Listen zurück, um alle doppelten Elemente zu entfernen. Die ursprüngliche Bestellung geht jedoch verloren. 3) Verwenden Sie Schleifen oder listen Sie Verständnisse auf, um Sätze zu kombinieren, um doppelte Elemente zu entfernen und die ursprüngliche Reihenfolge zu verwalten.

Python List -Verkettungsleistung: GeschwindigkeitsvergleichPython List -Verkettungsleistung: GeschwindigkeitsvergleichMay 08, 2025 am 12:09 AM

THESTESTMETHODFORLISTCONCATENATIONINPYTHONDSONLISTSIZE: 1) ForsmallLists, The Operatoriseffiction.2) Forlargerlists, list.extend () orlistCompretInsisfaster, WithEttend () MORMOREMEIMIENTIENTIENTYMODIFICIENTLISTLISTERSIN-SPACE.

Wie setzen Sie Elemente in eine Python -Liste ein?Wie setzen Sie Elemente in eine Python -Liste ein?May 08, 2025 am 12:07 AM

ToInsertElementsIntoapherthonList, useAppend () toaddtotheend, insert () foraspecificposition und fortend () formulpulpulements.1) useeAppend () Foraddingsingleiitemstotheend.2) useInsert () toaddataspecificIndex, zwarsititithulsForlargerists

Sind Python -Listen dynamische Arrays oder verknüpfte Listen unter der Haube?Sind Python -Listen dynamische Arrays oder verknüpfte Listen unter der Haube?May 07, 2025 am 12:16 AM

PythonlistsarEmplementedasdynamicArrays, Notlinkedlists.1) Sie haben incontuituousMemoryblocks, die ausgelöst werden, wobei die Auswirkungen auf die Erfüllung von Zeitungen/Deletionsbutionen, die in Verbindung gebracht wurden

Wie entfernen Sie Elemente aus einer Python -Liste?Wie entfernen Sie Elemente aus einer Python -Liste?May 07, 2025 am 12:15 AM

PythonoffersfourmainMethodstoremoveLements Fromalist: 1) Entfernen (Wert) removesthefirstoccurceofavalue, 2) Pop (index) removesandreturnsanelementataspecifiedIndex, 3) DelstatementRemovesElementsbyIntexors und 4) clear () removesallitems

Was sollten Sie überprüfen, wenn Sie einen Fehler 'Erlaubnis abgelehnt' erhalten, wenn Sie versuchen, ein Skript auszuführen?Was sollten Sie überprüfen, wenn Sie einen Fehler 'Erlaubnis abgelehnt' erhalten, wenn Sie versuchen, ein Skript auszuführen?May 07, 2025 am 12:12 AM

ToreSolvea "Berechtigte" FehlerwherunningAscript, folgen von THESESTEPS: 1) checkandadjustThescript'SPERMISSIONSCHMOD XMYSCRIPT.SHTOMAKEPEXEx.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor