Python は、投稿リクエストを送信するためにブラウザをシミュレートします。
Format request.post
request.post(url, data, json, kwargs) # post请求格式
request.get(url, params, kwargs) # 对比get请求
ログイン後にコピー
投稿リクエストの送信とパラメータの受け渡しは次のとおりです。
#data パラメータは、辞書形式と文字列形式をサポートしています。辞書形式では、 json.dumps() メソッドを使用して、データを有効な JSON 形式の文字列に変換します。この方法では、json モジュールをインポートする必要があります。
import json
json.dumps(data) # data转换成json格式
ログイン後にコピー
または、データ パラメータを post メソッドに割り当てます。json パラメータは正当な json 形式である必要があります。そうでない場合は役に立ちません。ブール値がある場合は、小文字にする必要があり、Unicode 以外の文字を含めることはできません。
フォーム投稿リクエスト (x-www-form-urlencoded)
import requests
url = "https://editor.net/"
data = {"key": "value"} # 字典 外层无引号
resp = requests.post(url,data=data)
print(resp.text)
ログイン後にコピー
json タイプ投稿リクエスト
import requests
url = "https://editor.net/"
data = '{"key": "value"}' # 字符串格式
resp = requests.post(url, data=data)
print(resp.text)
ログイン後にコピー
形式を渡すときに辞書形式を使用してパラメータを入力し、json に変換します
(1) 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) post メソッドの json パラメータに辞書形式のデータを代入
import requests
import json
url = "https://editor.net/"
data = {"key": "value"}
resp = requests.post(url, json=data)
print(resp.text)
ログイン後にコピー
python リクエスト post 解決いくつかのデータの問題
最近、私は Requests を使用してデータを自動的に送信する小さなプログラムを作成しています。Requests ライブラリを使用しています。使用中に、投稿データのエンコーディングでいくつかの問題が発生しました。見つける必要があります。情報量が多く、やっと解決しました。
投稿データの URL エンコーディングの問題
通常、辞書データを投稿する場合、リクエストは辞書内のデータを URL エンコーディングして送信します。
しかし、彼が使用した urlencode はデフォルトで UTF-8 エンコーディングであることがわかりました。私の Web サイト プログラムが gb2312 urlencode のみをサポートしている場合はどうすればよいでしょうか?
エンコードのために urllib に urllib.parse.urlencode を導入できます。
from urllib.parse import urlencode
import requests
session.post('http://www.bac-domm.com', data=urlencode({'val':'中国人民'}, encoding='gb2312'), headers = head_content)
ログイン後にコピー
データが URL エンコードされる問題を回避する
データを URL エンコードしたくない場合がありますが、どうすればよいでしょうか?
投稿データの文字列に連結するだけです。もちろん、結合するときは文字列のエンコードに注意する必要があります。たとえば、中国語が含まれている場合は、エンコードを utf-8 に設定する必要があります。または gb2312。
以上がPythonリクエストポストの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。