依赖:
pip install requests
###################### httpUtils start ########################## def _result(result): return result is None @retry(stop_max_attempt_number=3, wait_random_min=1000, wait_random_max=5000, retry_on_result=_result) def http_get(url,params={},headers={}): try: res = requests.get(url,data=params,headers=headers) if res.status_code != 200: raise requests.RequestException(' get data from'+res.request.url+ 'fail 。Three attempts have been tried !!!!') log_info("request path is{}" , res.request.url) headerStr = "" for headerKey in res.request.headers: headerStr = headerStr + " " + headerKey + ":" + res.request.headers[headerKey] log_info("request header:{}" , headerStr) log_info("request parameter: {}" ,str(res.request.body)) resHeaderStr = "" for resHeaderKey in res.headers: resHeaderStr = resHeaderStr + " " + resHeaderKey + ":" + res.headers[resHeaderKey] log_info("response header:{}", resHeaderStr) log_info("response result: {}" , res.content.decode("utf-8")) return res.content.decode("utf-8") except Exception as e: raise requests.RequestException(' get request to '+url+ ' exception and the exception is ' +str(e)) @retry(stop_max_attempt_number=3, wait_random_min=1000, wait_random_max=5000, retry_on_result=_result) def http_post(url,params_dict={},headers={}): headers["Content-Type"]="application/json" try: res = requests.post(url,data=json.dumps(params_dict),headers=headers) if res.status_code != 200: raise requests.RequestException(' post data to'+res.request.url+ ' fail . Three attempts have been tried !!!!') log_info("request path: {}",res.request.url) headerStr = "" for headerKey in res.request.headers: headerStr =headerStr+ " " + headerKey + ":" + res.request.headers[headerKey] log_info("request header:{}" , headerStr) log_info("request parameter: {}",str(res.request.body)) resHeaderStr = "" for resHeaderKey in res.headers: resHeaderStr =resHeaderStr+ " " + resHeaderKey + ":" + res.headers[resHeaderKey] log_info("response header: {}",resHeaderStr) log_info("respobse result: {}",res.content.decode("utf-8")) return res.content.decode("utf-8") except Exception as e: raise requests.RequestException(' post data to '+url+ ' exception and the exception is ' +str(e))
#coding=utf8 import requests # from common.logger import Logger # import logging class httpUtils: # logger = Logger("../logs/http.log",logging.INFO,logging.INFO) def get(self,url,params={},headers={}): res = requests.get(url,data=params,headers=headers) print("请求路径:" + res.request.url) headerStr = "" for headerKey in res.request.headers: headerStr = headerStr + " " + headerKey + ":" + res.request.headers[headerKey] print("请求头信息:" + headerStr) print("请求参数: " + res.request.body) resHeaderStr = "" for resHeaderKey in res.headers: resHeaderStr = resHeaderStr + " " + resHeaderKey + ":" + res.headers[resHeaderKey] print("响应头信息:" + resHeaderStr) print("返回结果: " + res.content.decode("utf-8")) return res def post(self,url,params={},headers={}): res = requests.post(url,data=params,headers=headers) print("请求路径:"+res.request.url) headerStr = "" for headerKey in res.request.headers: headerStr =headerStr+ " " + headerKey + ":" + res.request.headers[headerKey] print("请求头信息:" + headerStr) print("请求参数: "+res.request.body) resHeaderStr = "" for resHeaderKey in res.headers: resHeaderStr =resHeaderStr+ " " + resHeaderKey + ":" + res.headers[resHeaderKey] print("响应头信息:"+resHeaderStr) print("返回结果: "+res.content.decode("utf-8")) return res
使用:
#encoding=utf-8 ''' Created on 2019��10��9�� @author: sea ''' # from com.sea.hhtp.MyHttp import get, post from com.sea.hhtp import httputils print("###################################################") print("###################################################") print("################ GET ####################") print("###################################################") print("###################################################") headers = { "user-agent" : "ad", "Appstore-clientType" : "android", "Appstore-IMEI" : "123456789000000" } getheader={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"} getresult =httputils.get("http://192.168.18.129:7016/worktable?page=1&size=2") print(str(getresult)) print("13213") print("13213") print("###################################################") print("###################################################") print("################ POST ###################") print("###################################################") print("###################################################") postresult = httputils.post("http://192.168.18.129:7016/worktable/dynamicQueryWithPage",'{"status":"CCD","page":1,"size":2}',{"Content-Type":"application/json"}) print(str(postresult))
使用: