リクエストライブラリでは、リクエストのリクエストメソッドにpost/put/deleteなどを送信する際のリクエストボディが存在します。 リクエスト時には、json と data という 2 つのオプションのパラメーターがあります。 |
ご存知のとおり、http リクエストには主に 4 つのリクエスト本文の形式があります。 |
アプリケーション/json |
application/x-www-from-urlencoded |
マルチパート/フォーム |
アプリケーション/xml |
では、上記のリクエスト形式にはどのようなパラメータが使用されるのでしょうか? |
次に、具体例を一つずつ挙げていきます。 |
序文
最初のタイプ: application/json
ステップ 1: application/json によって要求されたインターフェイスを見つける
ステップ 2: json 形式で http リクエストを開始します - json パラメータと辞書タイプを使用します
2 番目のタイプ: application/x-www-from-urlencoded
ステップ 1: application/x-www-from-urlencoded によって要求されたインターフェイスを見つける
ステップ 2: x-www-from-urlencoded 形式で http リクエストを開始します - data パラメーターを使用します
具体的なコードは次のとおりです。
3 番目のタイプ: マルチパート/フォーム
ステップ 1: マルチパート/フォーム リクエストのアップロード インターフェイスを見つける
ステップ 2: マルチパート/フォーム形式で http リクエストを開始します - データとファイルのパラメータを使用します
完全なリクエスト処理アップロード インターフェイス
4 番目のタイプ: application/xml
ステップ 1: XML 形式でインターフェースを設計する
次に、flask を使用して、XML 形式で単純なログイン インターフェイスを設計します。リクエスト パラメーターはユーザー名とパスワードです。
コードは次のとおりです (ローカルで実行するには、最初に flask ライブラリをインストールしてください。次のコードを app.py に配置します)。
from flask import Flask, request, Response
app = Flask(__name__)@app.route('/login', methods=['POST'])
def login():
# 获取请求体中的XML数据
xml_data = request.data
# 解析XML数据,提取用户名和密码
try:
import xml.etree.ElementTree as ET
root = ET.fromstring(xml_data)
username = root.find('username').text
password = root.find('password').text
except Exception:
# 解析失败,返回错误响应
response_xml = '0请求格式错误'
return Response(response_xml, mimetype='text/xml')
# 验证用户名和密码
if username == 'python' and password == '1234567890':
# 登录成功,返回成功响应 response_xml = '1成功1001'
else:
# 登录失败,返回失败响应
response_xml = '-1用户名或密码错误'
return Response(response_xml, mimetype='text/xml')if __name__ == '__main__':
app.run()
要求されたデータの XML 形式は次のとおりです。
<login>
<username>python</username>
<password>1234567890</password>
</login>
応答データの XML 形式は次のとおりです。
<response>
<code>1</code>
<message>成功</message>
<userid>1001</userid>
</response>
ローカルの pycharm で、python app.py を使用してこのサービスを実行します。
ステップ 2: XML 形式で http リクエストを開始します - data パラメーターを使用します
データは文字列型であり、xml 形式です。