どのようにPython+requestsに基づいてHTTP要求を送信することを実現しますか?


この文章は主にどのようにPython+requestsに基づいてHTTP要求を送信するかを紹介しています。ここでは例示のコードで紹介されています。皆さんの学習や仕事に対して一定の参考となる学習価値があります。必要な友達は以下のように参照してください。
一、インターフェース自動化テスト中に、二つの状況があります。
一つは、認証が必要でないインターフェースで、直接にアクセスすることができます。
もう一つの場合は、認証が必要であってこそ訪問できるインターフェースです。
ここでは、Python+requestsを通じて、この二つの送信要求の方法を実現します。

"""
============================
author:Treasure 
time:2019/11/28
E-mail:[email protected]
  Http     
============================
"""
import requests


class HttpRequest(object):
  """          """

  @classmethod
  def request(cls, method, url, data=None, headers=None): #         
    method = method.upper() #               ,            
    if method == 'POST':
      return requests.post(url=url, data=data, headers=headers)
    elif method == 'GET':
      return requests.get(url=url, params=data, headers=headers)
    return f"    {method}    ,  POST Get    !"
    #         ,get     params, post        !


class HttpSession(object):
  """  Session   """
  def __init__(self):
    self.session = requests.session() #        session   

  def request(self, method, url, data=None, headers=None):
    method = method.upper()
    if method == 'POST':
      return self.session.post(url=url, data=data, headers=headers)
    elif method == 'GET':
      return self.session.get(url=url, params=data, headers=headers)

  def close(self):
    """  session     """
    self.session.close()


if __name__ == '__main__':
  http = HttpSession()
  http_one = http.request(method='post', url=r'http://test.lemonban.com/futureloan/mvc/api/member/login',
              data={"mobilephone": '17685598021', "pwd": '123456'}).json() #     
  http_two = http.request(method='post', url=r'http://test.lemonban.com/futureloan/mvc/api/member/recharge',
              data={"mobilephone": "17685598021", "amount": 50000}).json() #     
  print(http_one)
  print(http_two)
実行結果:

http_one = {'status': 1, 'code': '10001', 'data': None, 'msg': '    '}
http_two = {'status': 1, 'code': '10001',
        'data': {'id': 133171, 'regname': '  ', 'pwd': 'E10ADC3949BA59ABBE56E057F20F883E', 'mobilephone': '17685598021',
             'leaveamount': '647200.00', 'type': '1', 'regtime': '2019-09-01 12:28:03.0'}, 'msg': '    '}
ここではチャージインターフェースを使って例を挙げますので、私達は直接Session情報を記録するHTTP要求方法を使います。
チャージインターフェースは直接に成功を要求することができないので、ユーザーが先にログインしてからログインしたSession情報を取得して、ユーザー情報とSession情報を一緒にチャージインターフェースに送ってこそ、チャージが成功します。先にログインするように注意します。
私達はここでデータを返してjson形式で表示するので、見たところ辞書のようで、同じく比較的に明らかです!
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。