zoukankan      html  css  js  c++  java
  • httpUtils python

    依赖:

    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))

    使用:

  • 相关阅读:
    基于socket.io的实时消息推送
    mysql_use_result & mysql_store_result & MYSQLI_ASYNC
    深入浅出讲解:php的socket通信
    Mysql时间存储类型优缺点?DATETIME?TIMESTAMP?INT?
    PHP垃圾回收机制引用计数器概念
    php调试函数
    Docker生产环境实践指南
    11 个 Linux 上最佳的图形化 Git 客户端
    浅谈TCP/IP网络编程中socket的行为
    highcharts 使用实例
  • 原文地址:https://www.cnblogs.com/lshan/p/11643478.html
Copyright © 2011-2022 走看看