Python如何獲取request response body

TechSynapse發表於2024-11-16

在Python中,我們可以使用多個庫來傳送HTTP請求並獲取響應體(response body)。其中,最常用的庫之一是 requests。這個庫提供了簡單易用的介面來傳送HTTP請求,並可以方便地獲取響應體的內容。

下面是一個詳細的示例,展示如何使用 requests 庫來傳送HTTP GET請求,並獲取響應體。該示例程式碼可以直接執行,並具有一定的參考價值和實際意義。

一、獲取request response body

1.安裝requests庫

首先,確保我們已經安裝了 requests 庫。如果還沒有安裝,可以使用以下命令來安裝:

bash複製程式碼

pip install requests

2.示例程式碼

以下是一個完整的Python指令碼,展示如何傳送HTTP GET請求並獲取響應體:

import requests
 
def fetch_url(url):
    try:
        # 傳送HTTP GET請求
        response = requests.get(url)
 
        # 檢查請求是否成功(狀態碼為200)
        if response.status_code == 200:
            # 獲取響應體內容(文字格式)
            response_body = response.text
            print("請求成功,響應體內容如下:")
            print(response_body)
        else:
            # 如果請求失敗,輸出狀態碼和錯誤資訊
            print(f"請求失敗,狀態碼:{response.status_code}")
            print(f"錯誤資訊:{response.reason}")
 
    except requests.exceptions.RequestException as e:
        # 捕獲所有請求異常並輸出錯誤資訊
        print(f"請求發生異常:{e}")
 
if __name__ == "__main__":
    # 替換為我們要請求的URL
    url = "https://jsonplaceholder.typicode.com/posts/1"
    fetch_url(url)

3.程式碼解釋

(1)匯入requests庫

python複製程式碼

import requests

(2)定義函式 fetch_url

  • 該函式接受一個URL作為引數。
  • 使用 requests.get(url) 傳送HTTP GET請求。
  • 檢查響應的狀態碼是否為200(表示請求成功)。
  • 如果請求成功,獲取響應體內容並列印。
  • 如果請求失敗,輸出狀態碼和錯誤資訊。
  • 捕獲並處理所有請求異常。

(3)主程式

  • 設定一個示例URL(這裡使用的是JSONPlaceholder的示例API)。
  • 呼叫 fetch_url 函式傳送請求。

4.執行程式碼

將上述程式碼儲存到一個Python檔案中(例如 fetch_url.py),然後在命令列中執行:

bash複製程式碼

python fetch_url.py

我們應該會看到類似如下的輸出(具體內容取決於請求的URL):

請求成功,響應體內容如下:
{
    "userId": 1,
    "id": 1,
    "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
    "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quasi\net nostrum exercitationem laborum\n",
    "postedDate": "2023-10-04T09:46:24.282Z"
}

5.注意事項

(1)URL:在實際應用中,將示例URL替換為我們需要請求的URL。

(2)錯誤處理:示例程式碼中包含基本的錯誤處理,但在生產環境中,我們可能需要更詳細的錯誤處理和日誌記錄。

(3)安全性:對於涉及敏感資訊(如API金鑰)的請求,請確保使用HTTPS協議,並妥善保管敏感資訊。

這個示例展示瞭如何使用 requests 庫來傳送HTTP請求並獲取響應體,對於處理HTTP請求和響應具有實際的參考價值。

二、如何在Python中建立網站

在Python中建立網站通常涉及使用Web框架,這些框架提供了一套工具和庫,用於構建Web應用程式和網站。一個流行的Python Web框架是Flask,它輕量級且易於上手,但Django也是一個功能強大且廣泛使用的選擇。下面我將簡要介紹如何使用Flask建立一個簡單的網站。

1.安裝Flask

首先,我們需要安裝Flask。我們可以使用pip(Python的包管理器)來安裝它:

bash複製程式碼

pip install Flask

2.建立一個簡單的Flask應用

(1)建立一個新的Python檔案,比如app.py

(2)在app.py檔案中,編寫以下程式碼來建立一個簡單的Flask應用:

from flask import Flask, render_template
 
app = Flask(__name__)
 
# 路由和檢視函式
@app.route('/')
def home():
    return render_template('index.html')
 
if __name__ == '__main__':
    app.run(debug=True)

(3)建立一個名為templates的資料夾,並在其中建立一個名為index.html的檔案。這個資料夾和檔案將用於儲存我們的HTML模板。

(4)在index.html檔案中,編寫一些簡單的HTML程式碼:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>My Flask Website</title>
  </head>
  <body>
    <h1>Welcome to My Flask Website!</h1>
  </body>
</html>

(4)現在,我們可以執行我們的Flask應用了。在命令列中,導航到包含app.py檔案的目錄,並執行:

bash複製程式碼

python app.py

(5)開啟我們的Web瀏覽器,並訪問http://127.0.0.1:5000/。我們應該會看到我們建立的簡單網站的首頁,上面顯示著“Welcome to My Flask Website!”。

3.解釋程式碼

  • from flask import Flask, render_template:從Flask庫中匯入Flask類和render_template函式。
  • app = Flask(__name__):建立一個Flask應用例項。
  • @app.route('/'):定義一個路由,當使用者訪問根URL(/)時,將呼叫下面的檢視函式。
  • def home()::定義一個檢視函式,用於處理根URL的請求。
  • return render_template('index.html'):渲染index.html模板,並將其作為HTTP響應返回給客戶端。
  • if __name__ == '__main__'::檢查是否直接執行該指令碼(而不是作為模組匯入)。
  • app.run(debug=True):執行Flask應用,並啟用除錯模式(在生產環境中應禁用)。

4.部署網站

要在網際網路上部署我們的Flask網站,我們需要將其部署到一個Web伺服器上,比如Gunicorn或uWSGI,並使用像Nginx這樣的反向代理來處理靜態檔案和轉發請求。此外,我們可能還需要配置一個資料庫(如SQLite、PostgreSQL或MySQL)來儲存網站的資料。

對於生產環境的部署,建議使用像Docker這樣的容器化技術來封裝我們的應用及其依賴項,以確保在不同環境中的一致性和可移植性。我們還可以使用像Heroku、AWS Elastic Beanstalk或Google Cloud Run這樣的平臺來簡化部署過程。

相關文章