import requests
request.post(url, data, json, kwargs) # post请求格式 request.get(url, params, kwargs) # 对比get请求
Borang (x-www-form-urlencoded)
json (application/json)
Parameter data menyokong format kamus dan format rentetan Untuk format kamus, gunakan kaedah json.dumps() untuk menukar data kepada rentetan format json yang sah Kaedah ini memerlukan pengimportan modul json
import json json.dumps(data) # data转换成json格式
parameter data kepada kaedah pos Parameter json mestilah dalam format json yang sah, jika tidak, ia akan menjadi sia-sia Jika terdapat nilai Boolean, ia mestilah huruf kecil dan tidak boleh mempunyai aksara bukan Unicode.
import requests url = "https://editor.net/" data = {"key": "value"} # 字典 外层无引号 resp = requests.post(url,data=data) print(resp.text)
import requests url = "https://editor.net/" data = '{"key": "value"}' # 字符串格式 resp = requests.post(url, data=data) print(resp.text)
(1) penukaran kaedah json.dumps()
import requests import json url = "https://editor.net/" data = {"key": "value"} resp = requests.post(url, data=json.dumps(data)) print(resp.text)
(2) Berikan data dalam format kamus kepada parameter json kaedah siaran
import requests import json url = "https://editor.net/" data = {"key": "value"} resp = requests.post(url, json=data) print(resp.text)
Baru-baru ini, saya menggunakan Requests untuk membuat program kecil yang menghantar data secara automatik Saya menggunakan pustaka Requests Semasa penggunaan, saya mempunyai beberapa masalah dengan pengekodan data pos. dan saya perlu mencari banyak maklumat Akhirnya diselesaikan.
Apabila kami biasanya menyiarkan data dict, permintaan akan urlencode data dalam dict dan kemudian menghantarnya.
Tetapi saya mendapati bahawa urlencode yang dia gunakan ialah pengekodan UTF-8 secara lalai Bagaimana jika program tapak web saya hanya menyokong gb2312 urlencode?
Anda boleh memperkenalkan urllib.parse.urlencode dalam urllib untuk pengekodan.
from urllib.parse import urlencode import requests session.post('http://www.bac-domm.com', data=urlencode({'val':'中国人民'}, encoding='gb2312'), headers = head_content)
Kadangkala kita tidak mahu data dikodkan dengan urlen, apakah yang perlu kita lakukan?
Hanya gabungkan ia ke dalam rentetan dalam data pos Sudah tentu, anda harus memberi perhatian kepada pengekodan rentetan apabila menyambung Contohnya, jika ia mengandungi bahasa Cina, anda harus menetapkan pengekodan kepada utf-8 atau gb2312
Atas ialah kandungan terperinci Cara menggunakan pos permintaan python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!