Heim  >  Artikel  >  Backend-Entwicklung  >  Beitrag zur Verwendung von Python-Anfragen

Beitrag zur Verwendung von Python-Anfragen

王林
王林nach vorne
2023-04-29 16:52:062012Durchsuche

    Python-Simulationsbrowser sendet Post-Anfrage

    import requests

    Format request.post

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

    Beitrag senden Anforderungsparameter sind unterteilt in

    • Form (x-www-form-urlencoded)

    • json( Anwendung /json)

    Der Datenparameter unterstützt das Wörterbuchformat und das Zeichenfolgenformat. Verwenden Sie im Wörterbuchformat die Methode json.dumps(), um Daten in eine Zeichenfolge im zulässigen JSON-Format zu konvertieren . Die Methode muss das JSON-Modul importieren oder den Datenparameter dem JSON-Parameter der Post-Methode zuweisen, sonst ist er nutzlos ist ein boolescher Wert, er muss kleingeschrieben sein und darf keine Nicht-Unicode-Zeichen enthalten.

    Formular-Post-Anfrage (x-www-form-urlencoded)

    import json
    json.dumps(data) # data转换成json格式

    Json-Typ-Post-Anfrage

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

    Verwenden Sie das Wörterbuchformat, um Parameter einzugeben. beim Übergeben in das JSON-Format konvertiert

    (1) json.dumps()-Methodenkonvertierung

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

    (2) Daten im Wörterbuchformat dem JSON-Parameter der Post-Methode zuweisen # ?? Einige Probleme mit der Kodierung von Beitragsdaten, ich habe viele Informationen durchsucht und es schließlich gelöst.

    URL-Code-Problem der Post-Daten

    Wenn wir normalerweise Diktatdaten veröffentlichen, werden bei Anfragen die Daten im Diktat urlencodiert und dann gesendet.

    Aber ich habe festgestellt, dass der von ihm verwendete URL-Code standardmäßig die UTF-8-Codierung verwendet. Was ist, wenn mein Website-Programm nur gb2312-URL-Code unterstützt?

    Sie können urllib.parse.urlencode zur Codierung in urllib einführen.

    import requests
    import json
    url = "https://editor.net/"
    data = {"key": "value"}
    resp = requests.post(url, data=json.dumps(data))
    print(resp.text)

    Vermeiden Sie das Problem der URL-Verschlüsselung von Daten

    Manchmal möchten wir nicht, dass die Daten urlencodiert werden. Was sollen wir tun?

    Verketten Sie es einfach zu einer Zeichenfolge in den Postdaten. Natürlich sollten Sie beim Spleißen auf die Codierung der Zeichenfolge achten. Wenn sie beispielsweise Chinesisch enthält, sollten Sie die Codierung auf utf einstellen -8 oder gb2312

    import requests
    import json
    url = "https://editor.net/"
    data = {"key": "value"}
    resp = requests.post(url, json=data)
    print(resp.text)

    Das obige ist der detaillierte Inhalt vonBeitrag zur Verwendung von Python-Anfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen