目次
PythonコードがAPIで返されたデータを取得できないという問題のトラブルシューティングと解決
問題の説明
問題の分析とソリューション
ホームページ バックエンド開発 Python チュートリアル なぜ私のコードはAPIによってデータを返しているのですか?この問題を解決する方法は?

なぜ私のコードはAPIによってデータを返しているのですか?この問題を解決する方法は?

Apr 01, 2025 pm 08:09 PM
python windows API呼び出し なぜ

なぜ私のコードはAPIによってデータを返しているのですか?この問題を解決する方法は?

PythonコードがAPIで返されたデータを取得できないという問題のトラブルシューティングと解決

この記事ではrequestsライブラリを使用してip-api.com APIを呼び出すときに空の値を返すPythonコードケースを分析し、ソリューションを提供します。

問題の説明

次のコードは、POSTリクエストを使用してip-api.comのバッチIP情報を取得しようとしますが、常にnull値を返します。

 json、リクエスト、リクエストをインポートします

ip = [
  「49.104.25.257」、
  「39.115.131.116」
]

api = "http://ip-api.com/batch?fields=58898?lang=zh_cn"
ヘッダー= {
    「ユーザーエージェント」: "Mozilla/5.0(Windows NT 10.0; Win64; X64)AppleWebkit/537.36(Khtml、geckoのように)Chrome/119.0.0.0 Safari/537.36 EDG/119.0.0.0"、
    「コンテンツタイプ」:「アプリケーション/JSON」
    }

ip = json.dumps(ip、sures_ascii = false、indent = 2)
印刷(IP)

resp = requests.post(url = api、data = ip、headers = headers)
印刷(resp.status_code)
print(resp.text)

resp.close()
ログイン後にコピー

このAPIは、1分あたり45のリクエストの制限がある無料版で、POSTリクエストを使用して、 fields=58898使用してリターンフィールドを指定します。 API WebサイトでIPを直接照会することに問題はありませんが、コードは常にnull値を返し、 requestsライブラリはエラーを報告しません。

問題の分析とソリューション

コードとAPIのドキュメントを慎重に確認した後、問題はURLのクエリパラメーター設定であることがわかりました。元のコードでは、URLは次のとおりです。

 api = "http://ip-api.com/batch?fields=58898?lang=zh_cn"
ログイン後にコピー

&接続は、継続的な使用ではなく、複数のクエリパラメーター間で使用する必要があります?正しいURLは次のとおりです。

 API = "http://ip-api.com/batch?fields=58898&lang=Zh_cn"
ログイン後にコピー

さらに、中国のデータが返されることを確認するために、 langパラメーターをzh_CNに設定することをお勧めします。同時に、HTTPヘッダーのUser-Agentcontent-typeイニシャルが大文字になって標準の命名法を使用する必要があります。

これが修正された完全なコードです:

リクエストをインポートします
JSONをインポートします

ip = [
    「49.104.25.257」、
    「39.115.131.116」
]

API = "http://ip-api.com/batch?fields=58898&lang=Zh_cn"
ヘッダー= {
    「ユーザーエージェント」: "Mozilla/5.0(Windows NT 10.0; Win64; X64)AppleWebkit/537.36(Khtml、geckoのように)Chrome/119.0.0.0 Safari/537.36 EDG/119.0.0.0"、
    「コンテンツタイプ」:「アプリケーション/JSON」
}

ip = json.dumps(ip、sures_ascii = false、indent = 2)
印刷(IP)

resp = requests.post(url = api、data = ip、headers = headers)
印刷(resp.status_code)
print(resp.text)

resp.close()
ログイン後にコピー

URLとHTTPヘッダーを変更することにより、API戻りデータを正常に取得できます。この例は、API呼び出しにおける微妙な構文エラーの潜在的な障害を示しており、URLとパラメーターをダブルチェックすることの重要性を強調しています。

以上がなぜ私のコードはAPIによってデータを返しているのですか?この問題を解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Cの静的分析とは何ですか? Cの静的分析とは何ですか? Apr 28, 2025 pm 09:09 PM

Cでの静的分析の適用には、主にメモリ管理の問題の発見、コードロジックエラーの確認、およびコードセキュリティの改善が含まれます。 1)静的分析では、メモリリーク、ダブルリリース、非初期化ポインターなどの問題を特定できます。 2)未使用の変数、死んだコード、論理的矛盾を検出できます。 3)カバー性などの静的分析ツールは、バッファーオーバーフロー、整数のオーバーフロー、安全でないAPI呼び出しを検出して、コードセキュリティを改善します。

CでDMA操作を理解する方法は? CでDMA操作を理解する方法は? Apr 28, 2025 pm 10:09 PM

CのDMAとは、直接メモリアクセステクノロジーであるDirectMemoryAccessを指し、ハードウェアデバイスがCPU介入なしでメモリに直接データを送信できるようにします。 1)DMA操作は、ハードウェアデバイスとドライバーに大きく依存しており、実装方法はシステムごとに異なります。 2)メモリへの直接アクセスは、セキュリティリスクをもたらす可能性があり、コードの正確性とセキュリティを確保する必要があります。 3)DMAはパフォーマンスを改善できますが、不適切な使用はシステムのパフォーマンスの低下につながる可能性があります。実践と学習を通じて、DMAを使用するスキルを習得し、高速データ送信やリアルタイム信号処理などのシナリオでその効果を最大化できます。

CでハイDPIディスプレイを処理する方法は? CでハイDPIディスプレイを処理する方法は? Apr 28, 2025 pm 09:57 PM

CでのハイDPIディスプレイの取り扱いは、次の手順で達成できます。1)DPIを理解してスケーリングし、オペレーティングシステムAPIを使用してDPI情報を取得し、グラフィックスの出力を調整します。 2)クロスプラットフォームの互換性を処理し、SDLやQTなどのクロスプラットフォームグラフィックライブラリを使用します。 3)パフォーマンスの最適化を実行し、キャッシュ、ハードウェアアクセラレーション、および詳細レベルの動的調整によりパフォーマンスを改善します。 4)ぼやけたテキストやインターフェイス要素などの一般的な問題を解決し、DPIスケーリングを正しく適用することで解決します。

フィールドをMySQLテーブルに追加および削除する手順 フィールドをMySQLテーブルに追加および削除する手順 Apr 29, 2025 pm 04:15 PM

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

PHPフレームワークLaravelとYiiの違いは何ですか PHPフレームワークLaravelとYiiの違いは何ですか Apr 30, 2025 pm 02:24 PM

LaravelとYiiの主な違いは、デザインの概念、機能的特性、使用シナリオです。 1.Laravelは、開発のシンプルさと喜びに焦点を当てており、迅速な開発や初心者に適したEloquentormやArtisan Toolsなどの豊富な機能を提供します。 2.YIIはパフォーマンスと効率を強調し、高負荷アプリケーションに適しており、効率的なActiverCordおよびキャッシュシステムを提供しますが、急な学習曲線があります。

定量的交換ランキング2025デジタル通貨のトップ10の推奨事項定量取引アプリ 定量的交換ランキング2025デジタル通貨のトップ10の推奨事項定量取引アプリ Apr 30, 2025 pm 07:24 PM

交換に組み込まれた量子化ツールには、1。Binance:Binance先物の定量的モジュール、低い取り扱い手数料を提供し、AIアシストトランザクションをサポートします。 2。OKX(OUYI):マルチアカウント管理とインテリジェントな注文ルーティングをサポートし、制度レベルのリスク制御を提供します。独立した定量的戦略プラットフォームには、3。3Commas:ドラッグアンドドロップ戦略ジェネレーター、マルチプラットフォームヘッジアービトラージに適しています。 4。Quadency:カスタマイズされたリスクしきい値をサポートするプロフェッショナルレベルのアルゴリズム戦略ライブラリ。 5。Pionex:組み込み16のプリセット戦略、低い取引手数料。垂直ドメインツールには、6。cryptohopper:クラウドベースの定量的プラットフォーム、150の技術指標をサポートします。 7。BITSGAP:

MySQLをアンインストールし、残留ファイルをクリーンする方法 MySQLをアンインストールし、残留ファイルをクリーンする方法 Apr 29, 2025 pm 04:03 PM

安全かつ徹底的にMySQLをアンインストールし、すべての残留ファイルをクリーンにするには、次の手順に従ってください。1。MySQLサービスを停止します。 2。MySQLパッケージをアンインストールします。 3.構成ファイルとデータディレクトリのクリーン。 4.アンインストールが徹底していることを確認します。

Cでセンサーデータを処理する方法は? Cでセンサーデータを処理する方法は? Apr 28, 2025 pm 10:00 PM

Cは、高性能および低レベルの制御機能により、センサーデータの処理に適しています。特定の手順には以下が含まれます。1。データ収集:ハードウェアインターフェイスを介してデータを取得します。 2。データ分析:元のデータを利用可能な情報に変換します。 3。データ処理:フィルタリングとスムージング処理。 4。データストレージ:データをファイルまたはデータベースに保存します。 5.リアルタイム処理:コードの効率的で低レイテンシを確保します。

See all articles