Pythonモジュールを使用して、インターフェイスのテスト-requests

モジュールを使用するための要求

中国のドキュメントAPI:http://2.python-requests.org/en/master/

1、GET、POSTリクエストを送信します

インポート要求
REPONSE = requests.get(" http://www.baidu.com " 
REPONSE = requests.post(" http://www.baidu.com "

図2に示すように、応答特性

  • ビューの応答内容

    • response.textプロパティ

    • respone.content.decode(「UTF8」)属性バイトフォーマットのデコードデコードが必要です

  • ビューのレスポンスコードresponse.status_codeプロパティ

  • ビューレスポンスヘッダrespone.headersプロパティ

  • クッキー属性情報respone.cookiesをチェック

  • ビューリクエストメソッドrespone.requestプロパティ

  • どのように再充電するためのインターフェイスを再充電する前にログインするログインインターフェースを呼び出す必要性を解決するには?

   方法1:セッションオブジェクト、クッキー情報が自動的に保存された最後の要求を作成することによって、認証、許可の問題を解決します。

インポート要求
 から requests.sessionsは、インポートセッション

#は、セッションオブジェクト(セッション)を作成
#のアクションを自動的クッキー情報の最後の要求セーブ 
セッションを= セッション() 

登録インターフェース 
register_urlは= " HTTP:// IP:ポート/ futureloan / MVC / API /メンバー/登録
register_data = { ' MobilePhone、'' 18814726727 '' PWD '' 123456 '' 説明regname '' 記録' }
register_response= session.post(URL = register_url、データ= register_data)
印刷(register_response.status_code)
プリント(register_response.text) 

登录接口 
LOGIN_URL = " のhttp:// IP:ポート/ futureloan / MVC / API /メンバー/ログイン" 
login_data = { ' mobilephone '' 18814726727 '' PWD '' 123456 ' } 
login_response = requests.get(URL = LOGIN_URL、データ= login_data)
 プリント(login_response.text) 

充值接口 
rech_url = " HTTP:// IPアドレス:ポート/ futureloan / MVC / API /部材/充電" 
rech_data = { ' mobilephone '' 18814726727 '' '' 200 ' } 
rech_response = requests.get(URL = rech_url、データ= rech_data)
 プリント(rech_response.text)

出力は次のようになります。

    方法2:requsetsにクッキーを渡すことで、情報を要求するだけでなく、認証、許可の問題を解決します。

インポート要求
 登陆接口 
LOGIN_URL = " のhttp:// IP:ポート/ futureloan / MVC / API /メンバー/ログイン" 
login_data = { ' mobilephone '' 18814726727 '' PWD '' 123456 ' } 
login_response = requests.post (URL = LOGIN_URL、データ= login_data)
 プリント(login_response.text)
 プリント(login_response.cookies)
クッキー = login_response.cookies 

充值接口 
rech_url = "HTTP:// IPアドレス:ポート/ futureloan / MVC / API /部材/充電
rech_data = { ' mobilephone '' 18814726727 '' '' 200 ' } 
rech_response = requests.post(URL = rech_url、データ= rech_data 、クッキー= クッキー)
 プリント(rech_response.text)

出力は次のようになります。

  •  heradersアプリケーションパラメータ

ヘッダ= {
     " のUser-Agent "" Mozillaの/ 5.0(Windows NTの6.1; WOW64)のAppleWebKit / 537.36(ヤモリのようにKHTML、)クローム/ 77.0.3865.35サファリ/ 537.36 " "トークン": ""、
    " クッキー"" JSESSIONID = 5039A5FD7567C7C78B8180C50D340A5F "请求的クッキー信息
    " コンテンツタイプ"" アプリケーション/ x-www-form-urlencodedで"         #のポスト请求格式
} 
rech_response = requests.post(URL = rech_url、データ= rech_data、ヘッダー=ヘッダ)

3、パッケージのリクエスト自身のクラス

 目的:開始要求の種類を決定するために、実施形態に従った方法を要求します。

           出力loggibをログに記録するには

          HttpRequests直接要求情報が記録されていないクッキーを送信するために使用されるクラス、クッキーや情報がHttpRequestsCookiesクラスを記録することができます。

 

インポート要求の
 クラスHTTPRequests():
    は、直接情報クッキー記録せずに要求を送信
    DEFの要求(セルフ、メソッド、URL、のparams =なし、データ=なし、ヘッダ=なし、クッキー=なし、JSON = :なし)
        メソッド = メソッドを.lower()
        要求を決定する方法ポストであるか、またはGET 
        場合 ==方法ポスト#は、パラメータを渡すJSON POST要求を使用するか否かを判断する(インタフェースパラメータは、JSONのパラメータ渡しを適用するために使用されている)
            場合JSON:
                 #1 ロガー.info( "要求を送信する、要求アドレス:{}、要求パラメータ:{}"形式(URL、JSON)
                リターン requests.post(URL = URL、JSON = JSON、ヘッダー=ヘッダ、=クッキークッキー)
             Logger.info( "リクエストの送信、要求アドレス:{}、リクエストのパラメータ:{}"形式(URL、データ))
                戻り requests.post(URL = URL、データ=データ、ヘッダ=ヘッダ、クッキー= クッキー)
         ELIFの方法== " GET " #1 logger.infoを( "要求を送信する、要求アドレス:{}、要求パラメータ:{}"形式(URL、paramsは))
            戻り requests.get(URL = URL、paramsはparamsは=、=ヘッダのヘッダ、クッキー= クッキー)

クラス:HttpRequestsCookies()
    次の使用に送信要求情報及び記録クッキー、
    DEF  __init__ (自己):
        は、セッションオブジェクトの作成 
        self.session = requests.sessions.Sessionを()
    DEF要求(セルフ、メソッド、URL、のparams =なし、データ=なし、ヘッダ=なし、クッキー=なし、JSON = なし):
        メソッド = method.lower()
        要求を決定する方法であるポストまたはGET 
        のIF方法== ポスト#は、(パラメータがJSONのパラメータ渡しを使用するインターフェイスに適用される)引数を渡すJSON POST要求を使用するかどうかを判断する
            場合:JSON
                 #1 logger.info(「送信要求、要求アドレス:{}、要求パラメータ: } { "フォーマット(URL、データ))。
                戻る self.session.postを(URL = URL、JSON = JSON、ヘッダー=ヘッダ、=クッキークッキー)
             #1 logger.info("、要求アドレスを要求を送信します:{ }リクエストパラメータ:. {}「形式(URL、データ))
                リターンself.session.post(URL = URL、データ=データ、ヘッダ=ヘッダ、=クッキークッキー)
         ELIFの方法== " GET " #1 logger.info(「送信要求、要求アドレス:{}、要求パラメータ:{ 。}「形式(URL、paramsは))
            戻り self.session.get(URL = URL、paramsは= paramsは、ヘッダー=ヘッダ、=クッキークッキー)
     切断セッション接続
    DEF 閉じる(自己):
        self.session.close( )
  
IF  __name__ == " __main__ " 
    R = HttpRequestsCookies()
    ログインインターフェース 
    LOGIN_URL = "http:// IP:ポート/ futureloan / MVC / API /メンバー/ログイン
    login_data = { ' mobilephone '' 18814726727 '' PWD '' 123456 ' } 
    応答 = r.request(' ポスト'は、url = LOGIN_URL 、データ= login_data)
     プリント(response.text)
    充值接口 
    rech_url = " HTTP:// IPアドレス:ポート/ futureloan / MVC / API /部材/充電" 
    rech_data = { ' mobilephone '"18814726727 ' ' '' 200 ' } 
    応答 = r.request(' '、URL = rech_url、データ= rech_data)
     プリント(response.text)

 

 

出力は次のようになります。

 

おすすめ

転載: www.cnblogs.com/wanglle/p/11581677.html