Cara menggunakan pos permintaan python

王林
Lepaskan: 2023-04-29 16:52:06
ke hadapan
2014 orang telah melayarinya

    Python mensimulasikan penyemak imbas untuk menghantar permintaan siaran

    import requests
    Salin selepas log masuk

    Format request.post

    request.post(url, data, json, kwargs) # post请求格式
    request.get(url, params, kwargs) # 对比get请求
    Salin selepas log masuk

    Hantar permintaan siaran dan hantar parameter ke

    • 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格式
    Salin selepas log masuk

    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.

    Permintaan siaran berasaskan borang (x-www-form-urlencoded)

    import requests
    url = "https://editor.net/"
    data = {"key": "value"} # 字典 外层无引号
    resp = requests.post(url,data=data)
    print(resp.text)
    Salin selepas log masuk

    permintaan siaran jenis json

    import requests
    url = "https://editor.net/"
    data = '{"key": "value"}' # 字符串格式 
    resp = requests.post(url, data=data)
    print(resp.text)
    Salin selepas log masuk

    Gunakan format kamus untuk mengisi parameter dan tukar kepada json apabila menghantar Format

    (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)
    Salin selepas log masuk

    (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)
    Salin selepas log masuk

    python requests post Menyelesaikan beberapa masalah data

    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.

    Masalah urlencoding data pos

    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)
    Salin selepas log masuk

    Mengelakkan masalah data dikodkan

    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!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan