Rumah >pembangunan bahagian belakang >Tutorial Python >Permintaan Python - Permintaan POST dengan pengepala dan badan

Permintaan Python - Permintaan POST dengan pengepala dan badan

PHPz
PHPzke hadapan
2023-09-02 12:21:021412semak imbas

Python 请求 - 带有标头和正文的 POST 请求

#🎜🎜 Pustaka permintaan #Python ialah alat yang berkuasa untuk membuat permintaan HTTP dengan cara yang mudah dan cekap. Ia menyediakan antara muka yang mudah digunakan untuk menghantar GET, POST dan jenis permintaan lain ke pelayan web. Apabila membuat permintaan POST, anda biasanya menyertakan pengepala dan badan permintaan, yang mengandungi maklumat dan data tambahan untuk diproses oleh pelayan.

Dalam artikel ini, kami akan meneroka cara membuat permintaan POST dengan pengepala dan kandungan menggunakan perpustakaan permintaan. Kami akan memperkenalkan konsep asas pengepala dan badan permintaan, menunjukkan penggunaannya dalam kaedah requests.post() dan membincangkan amalan terbaik untuk mengendalikan respons dan ralat.

SET PERSEKITARAN

Sebelum kita menyelami membuat permintaan POST dengan pengepala dan badan permintaan menggunakan perpustakaan permintaan dalam Python, mari pastikan persekitaran kita disediakan dengan betul. Berikut adalah langkah-langkah untuk diikuti -

Pasang perpustakaan permintaan

  • Jika anda menggunakan Python 3 atau lebih tinggi, perpustakaan permintaan tidak digabungkan dengan perpustakaan standard, jadi anda perlu memasangnya secara berasingan. Buka terminal atau command prompt dan jalankan arahan berikut:

  • pip install requests
    
  • Jika anda menggunakan IDE atau editor kod dengan terminal bersepadu, anda boleh memasang perpustakaan terus dari panel terminal dalam editor.

Modul permintaan import

Selepas memasang perpustakaan, pastikan anda mengimport modul permintaan pada permulaan skrip Python anda atau dalam persekitaran Python interaktif:

import requests

Selepas memasang dan mengimport perpustakaan permintaan, anda kini boleh membuat permintaan POST dengan pengepala dan badan permintaan.

Dalam bahagian seterusnya, kami akan meneroka cara membina pengepala dan badan permintaan, dan kemudian beralih kepada membuat permintaan POST sebenar menggunakan kaedah requests.post().

Membina pengepala dan meminta badan

Untuk membuat permintaan POST dengan pengepala dan isi permintaan, kita perlu membina pengepala dan badan sebelum menghantar permintaan menggunakan kaedah requests.post(). Mari pecahkan proses langkah demi langkah:

Pengepala pembinaan

  • Tajuk memberikan maklumat tambahan tentang permintaan, seperti bukti kelayakan pengesahan, jenis kandungan atau ejen pengguna. Kita boleh memasukkan pengepala dalam permintaan POST dengan menghantarnya sebagai kamus kepada parameter pengepala kaedah requests.post().

  • Untuk membina pengepala, cipta kamus dengan nama pengepala yang diingini sebagai kunci dan nilai yang sepadan sebagai nilai. Berikut adalah contoh -

  • headers = {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer your_token_here'
    }
    
  • Ganti "aplikasi/json" dengan jenis kandungan yang sesuai untuk permintaan anda dan "token_anda_di sini" dengan token kebenaran sebenar anda (jika perlu).

Membina badan permintaan

  • Isi permintaan mengandungi data yang ingin kami hantar sebagai sebahagian daripada permintaan POST. Ia boleh dalam pelbagai format, seperti JSON, data borang atau teks biasa. Pilihan format bergantung pada jangkaan pelayan.

  • Untuk membina isi permintaan, buat kamus atau struktur data dengan data yang diperlukan. Berikut ialah contoh menggunakan format JSON -

  • import json
    
    payload = {
        'name': 'John Doe',
        'email': 'johndoe@example.com'
    }
    
    json_payload = json.dumps(payload)
    
  • Dalam contoh ini, kami mencipta muatan kamus menggunakan beberapa data sampel. Kami kemudian menggunakan json.dumps() untuk menukar kamus kepada perwakilan rentetan JSON, yang diperlukan untuk menghantar data JSON dalam badan permintaan.

Dalam bahagian seterusnya, kami akan meletakkan tajuk yang dibina dan badan permintaan bersama-sama dan membuat permintaan POST sebenar menggunakan kaedah requests.post().

Buat permintaan POS

Sekarang kami telah membina pengepala dan badan permintaan, kami boleh meneruskan untuk membuat permintaan POST sebenar menggunakan kaedah requests.post(). Kaedah operasi adalah seperti berikut:

Nyatakan URL

  • Mulakan dengan menyatakan URL yang anda ingin hantar permintaan POST. Gantikan "https://api.example.com/endpoint" dalam coretan di bawah dengan URL sebenar anda.

  • url = 'https://api.example.com/endpoint'
    
Buat permintaan POS

  • Gunakan kaedah requests.post() untuk menghantar permintaan POST. Lulus URL, pengepala dan isi permintaan sebagai parameter.

  • import requests
    
    response = requests.post(url, headers=headers, data=json_payload)
    
Memproses respons

  • Kaedah requests.post() mengembalikan objek Respons yang mengandungi respons pelayan kepada permintaan kami.

  • Kami boleh mengakses kod status respons, pengepala respons dan badan respons menggunakan pelbagai sifat dan kaedah objek Respons. Berikut ialah contoh:

  • print(response.status_code)
    print(response.headers)
    print(response.text)
    
Ralat pengendalian

  • Adalah penting untuk mengendalikan sebarang kemungkinan ralat yang mungkin berlaku semasa permintaan. Jika permintaan tidak berjaya (kod status >= 400), anda boleh menggunakan response.raise_for_status() untuk menimbulkan pengecualian.

  • response.raise_for_status()
    
Dengan mengikut langkah di bawah, anda boleh menggunakan perpustakaan permintaan dalam Python untuk membuat permintaan POST dengan cekap dengan pengepala dan badan permintaan.

带有标头和正文的 POST 请求

为了演示如何使用请求来发出带有标头和正文的 POST 请求,让我们考虑一个将 JSON 负载发送到 API 端点的示例。这是完整的代码

示例

import requests
import json

# Set up the URL
url = 'https://api.example.com/endpoint'

# Set up the headers
headers = {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer your_token'
}

# Set up the request body
payload = {
    'name': 'John Doe',
    'email': 'johndoe@example.com',
    'age': 30
}
json_payload = json.dumps(payload)

# Make the POST request
response = requests.post(url, headers=headers, data=json_payload)

# Check the response
if response.status_code == 200:
    print('Request successful!')
    print(response.json())
else:
    print('Request failed!')
    print(response.text)

让我们分解一下代码

  • 我们导入必要的模块 请求用于发出 HTTP 请求和 json 用于处理 JSON 数据

  • 我们设置要将 POST 请求发送到的 URL。

  • 我们定义标头,包括指定我们发送 JSON 数据的“Content-Type”标头以及“Authorization”标头(如果 API 需要)。

  • 我们将请求正文设置为 Python 字典,然后使用 json.dumps() 将其转换为 JSON 字符串。

  • 我们使用 requests.post() 发出 POST 请求,并将 URL、标头和请求正文作为参数传递。

  • 我们检查响应状态代码。如果是 200(表示请求成功),我们将打印响应 JSON。否则,我们将打印响应文本以识别任何错误。

此示例演示如何使用 Python 中的请求库发出带有标头和请求正文的 POST 请求。请随意根据您的具体要求自定义代码。

结论

在本文中,我们探讨了如何使用 Python 中的 requests 库发出带有标头和请求正文的 POST 请求。通过安装 requests 库并了解其依赖关系,我们了解了设置环境的重要性。

在本文中,我们探讨了如何使用 Python 中的 requests 库发出带有标头和请求正文的 POST 请求。通过安装 requests 库并了解其依赖关系,我们了解了设置环境的重要性。

然后,我们运行了一个完整的示例,演示了发送 JSON 有效负载作为请求正文并在请求中包含标头的过程。我们逐步浏览了代码并详细讨论了每个组件。

Atas ialah kandungan terperinci Permintaan Python - Permintaan POST dengan pengepala dan badan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam