Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan fungsi urllib.request.urlopen() untuk menghantar permintaan POST dalam Python 3.x
Cara menggunakan fungsi urllib.request.urlopen() untuk menghantar permintaan POST dalam Python 3.x
Dalam pengaturcaraan rangkaian, selalunya perlu menghantar permintaan POST melalui protokol HTTP untuk berinteraksi dengan pelayan. Python menyediakan fungsi urllib.request.urlopen() untuk menghantar pelbagai permintaan HTTP, termasuk permintaan POST. Artikel ini akan memperincikan cara menggunakan fungsi urllib.request.urlopen() untuk menghantar permintaan POST, dengan contoh kod. Fungsi
urllib.request.urlopen() ialah modul klien HTTP dalam pustaka standard Python, digunakan untuk menghantar permintaan HTTP dan menerima respons HTTP. Tidak seperti permintaan GET, permintaan POST menyerahkan data kepada pelayan dan mengharapkan pelayan memproses data yang diserahkan dengan sewajarnya.
Berikut ialah langkah umum untuk menghantar permintaan POST menggunakan fungsi urllib.request.urlopen():
import urllib.request
data = { 'key1': 'value1', 'key2': 'value2' }
import urllib.parse url = 'http://example.com/post' data = { 'key1': 'value1', 'key2': 'value2' } data = urllib.parse.urlencode(data).encode() req = urllib.request.Request(url, data=data, method='POST')
response = urllib.request.urlopen(req) result = response.read().decode() print(result)
Dalam langkah di atas, url ialah URL sasaran untuk menghantar permintaan, dan data ialah data POST yang akan diserahkan. Apabila mencipta objek permintaan, fungsi urlencode() digunakan untuk menukar data kepada rentetan yang dikodkan URL, dan kaedah encode() digunakan untuk mengekodnya ke dalam strim bait.
Akhir sekali, gunakan fungsi urlopen() untuk menghantar permintaan dan membaca kandungan respons melalui kaedah read(). Gunakan kaedah nyahkod() untuk menyahkod kandungan respons dan mencetak hasilnya.
Perlu diingat bahawa permintaan POST boleh mengandungi maklumat pengepala permintaan HTTP tambahan. Pengepala permintaan tambahan ini boleh ditetapkan semasa membuat objek permintaan dengan menambahkan parameter pengepala.
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.3', 'Content-Type': 'application/x-www-form-urlencoded' } req = urllib.request.Request(url, data=data, headers=headers, method='POST')
Dalam contoh kod di atas, dua pengepala permintaan User-Agent dan Content-Type ditetapkan melalui parameter pengepala.
Ringkasan
Artikel ini memperkenalkan cara menggunakan fungsi urllib.request.urlopen() Python untuk menghantar permintaan POST. Mula-mula import modul urllib.request, kemudian buat objek permintaan dengan data URL dan POST, dan akhirnya gunakan fungsi urlopen() untuk menghantar permintaan dan mendapatkan respons. Dengan menambahkan parameter pengepala, anda juga boleh menetapkan maklumat pengepala permintaan tambahan.
Di atas ialah contoh mudah menghantar permintaan POST menggunakan fungsi urllib.request.urlopen(). Saya harap ia dapat membantu anda memahami cara menghantar permintaan POST dalam Python dan menggunakannya dalam projek sebenar.
Atas ialah kandungan terperinci Cara menggunakan fungsi urllib.request.urlopen() untuk menghantar permintaan POST dalam Python 3.x. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!