調(diào)用API 用的是requests 庫。步驟包括:1. 安裝requests;2. 發(fā)起GET 請求並打印狀態(tài)碼和JSON 數(shù)據(jù);3. 添加參數(shù)和headers;4. 處理錯誤與超時,加timeout 防止卡住,raise_for_status() 檢查狀態(tài)碼,並捕獲HTTPError、ConnectionError、Timeout 等異常類型;5. 核心流程為發(fā)請求→ 看狀態(tài)碼→ 解析結(jié)果→ 處理異常。
用Python 調(diào)用API 其實並不難,尤其是像GET 請求這種常見操作。下面這個例子用的是requests
庫,這是Python 中最常用的發(fā)起HTTP 請求的庫之一。

準備工作:安裝requests
如果你還沒裝過這個庫,可以先用pip 安裝:
pip install requests
裝好之後就可以開始寫代碼了。

發(fā)起一個基本的GET 請求
比如我們想調(diào)用一個公開的API,比如http://www.miracleart.cn/link/27e9efa7a852bcaa4d9fe0791d2d37b1 ,它會返回一篇假文章的數(shù)據(jù)。 Python 代碼可以這樣寫:
import requests response = requests.get('http://www.miracleart.cn/link/27e9efa7a852bcaa4d9fe0791d2d37b1') print(response.status_code) print(response.json())
這段代碼做了三件事:

- 發(fā)起了一個GET 請求
- 打印了狀態(tài)碼(200 表示成功)
- 把返回結(jié)果轉(zhuǎn)成JSON 格式並打印出來
如果你看到輸出裡有類似這樣的內(nèi)容:
{ "userId": 1, "id": 1, "title": "sunt aut facere repellat provident", "body": "quia et suscipit..." }
那說明你的請求就成功了。
添加參數(shù)和Headers(可選)
有些API 需要你帶上參數(shù)或者設(shè)置headers,比如加個User-Agent 或者認證信息。你可以這樣寫:
params = { 'page': 2, 'limit': 10 } headers = { 'User-Agent': 'MyApp/1.0' } response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params, headers=headers)
這裡加了兩個參數(shù)page
和limit
,它們會被自動拼接到URL 後面,變成:
https://jsonplaceholder.typicode.com/posts?page=2&limit=10
headers 是發(fā)給服務(wù)器的一些附加信息,有些網(wǎng)站會檢查User-Agent,不帶的話可能會拒絕訪問。
處理錯誤和超時
網(wǎng)絡(luò)請求不是每次都能成功的,所以最好加上異常處理:
try: response = requests.get('http://www.miracleart.cn/link/27e9efa7a852bcaa4d9fe0791d2d37b1', timeout=5) response.raise_for_status() # 如果狀態(tài)碼不是200,就會拋出異常except requests.exceptions.HTTPError as errh: print(f"Http Error: {errh}") except requests.exceptions.ConnectionError as errc: print(f"Error Connecting: {errc}") except requests.exceptions.Timeout as errt: print(f"Timeout Error: {errt}") except requests.exceptions.RequestException as err: print(f"OOps: Something Else {err}")
重點是:
- 加上
timeout
參數(shù)防止程序卡住 - 用
raise_for_status()
主動檢查狀態(tài)碼 - 分類捕獲不同類型的異常,方便排查問題
基本上就這些。看起來步驟不少,其實真正核心的就是requests.get()
這一句。其它都是為了穩(wěn)定性和容錯加上的“保險”。只要記?。?strong>發(fā)請求→ 看狀態(tài)碼→ 解析結(jié)果→ 處理異常,這套流程走下來,就能應(yīng)對大多數(shù)簡單場景了。
以上是簡單的Python API呼叫示例的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

《Go語言程式設(shè)計實例:Web開發(fā)中的程式碼範例》隨著網(wǎng)路的快速發(fā)展,Web開發(fā)已成為各行業(yè)中不可或缺的一部分。作為一門功能強大且效能優(yōu)越的程式語言,Go語言在Web開發(fā)中越來越受到開發(fā)者們的青睞。本文將透過具體的程式碼範例,介紹如何利用Go語言進行Web開發(fā),讓讀者更能理解並運用Go語言來建立自己的Web應(yīng)用。 1.簡單的HTTP伺服器首先,讓我們從一個

華為雲(yún)端邊緣運算對接指南:Java程式碼範例快速實現(xiàn)介面隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展和邊緣運算的興起,越來越多的企業(yè)開始關(guān)注邊緣運算的應(yīng)用。華為雲(yún)端提供了邊緣運算服務(wù),為企業(yè)提供了高可靠的運算資源和便利的開發(fā)環(huán)境,使得邊緣運算應(yīng)用更容易實現(xiàn)。本文將介紹如何透過Java程式碼快速實現(xiàn)華為雲(yún)端邊緣運算的介面。首先,我們需要準備好開發(fā)環(huán)境。確保你已經(jīng)安裝了Java開發(fā)工具包(

了解Python程式設(shè)計的入門程式碼範例Python是一種簡單易學(xué),功能強大的程式語言。對於初學(xué)者來說,了解Python程式設(shè)計的入門級程式碼範例是非常重要的。本文將為您提供一些具體的程式碼範例,幫助您快速入門。列印HelloWorldprint("HelloWorld")這是Python中最簡單的程式碼範例。 print()函數(shù)用於將指定的內(nèi)容輸出

Java冒泡排序最簡單的程式碼範例冒泡排序是一種常見的排序演算法,它的基本想法是透過相鄰元素的比較和交換來將待排序序列逐步調(diào)整為有序序列。以下是一個簡單的Java程式碼範例,示範如何實作冒泡排序:publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){int

如何使用PHP編寫庫存管理系統(tǒng)中的庫存分倉管理功能碼庫存管理是許多企業(yè)中不可或缺的一部分。對於擁有多個倉庫的企業(yè)來說,庫存分倉管理功能尤其重要。透過合理管理和追蹤庫存,企業(yè)可以實現(xiàn)不同倉庫之間的庫存調(diào)撥,優(yōu)化營運成本,改善協(xié)同效率。本文將介紹如何使用PHP編寫庫存分倉管理功能的程式碼,並為您提供相關(guān)的程式碼範例。一、建立資料庫在開始編寫庫存分倉管理功能的程式碼之

PHP變數(shù)儲存程式運行期間的值,對於建立動態(tài)且互動的WEB應(yīng)用程式至關(guān)重要。本文將深入探討php變量,並透過10個真實的範例展示它們的實際應(yīng)用。 1.儲存使用者輸入$username=$_POST["username"];$passWord=$_POST["password"];此範例從表單提交中提取使用者名稱和密碼,並將其儲存在變數(shù)中以供進一步處理。 2.設(shè)定配置值$database_host="localhost";$database_username="username";$database_pa

標題:從入門到精通:Go語言中常用資料結(jié)構(gòu)的程式碼實作資料結(jié)構(gòu)在程式設(shè)計中起著至關(guān)重要的作用,它是程式設(shè)計的基礎(chǔ)。在Go語言中,有許多常用的資料結(jié)構(gòu),掌握這些資料結(jié)構(gòu)的實作方式對於成為優(yōu)秀的程式設(shè)計師至關(guān)重要。本文將介紹Go語言中常用的資料結(jié)構(gòu),並給出對應(yīng)的程式碼範例,幫助讀者從入門到精通這些資料結(jié)構(gòu)。 1.數(shù)組(Array)數(shù)組是一種基本的資料結(jié)構(gòu),是一組相同類型

Java選擇排序法程式碼編寫指南及範例選擇排序是一種簡單直觀的排序演算法,其想法是每次從未排序的元素中選擇最?。ɑ蜃畲螅┑脑剡M行交換,直到所有元素排序完成。本文將提供選擇排序的程式碼編寫指南,並附上具體的Java範例程式碼。演算法原理選擇排序的基本原理是將待排序數(shù)組分為已排序和未排序兩部分,每次從未排序部分選擇最?。ɑ蜃畲螅┑脑?,將其放到已排序部分的末尾。重複上述
