处理不同的接口响应格式

  def send(self, method, url, **kwargs):
        logger.debug(f"请求信息方法:{method},请求URL:{self.base_url + url},其他请求信息{kwargs}")
        # res = requests.request(method=method, url=self.base_url + url, **kwargs)
        response  = self.session.request(method=method, url=self.base_url + url, **kwargs)
        logger.info(f"接口返回信息:{response.text}")
        # todo:处理不同的响应
        res_text = response.text # response.text:<class 'str'>
        # xml格式
        if res_text.startswith('<?xml'):
            final_res = xmltodict.parse(res_text)
        # html格式
        elif res_text.find('<!DOCTYPE html') != -1 :
            final_res = res_text
        else:
            final_res = response.json()
        return final_res

<class ‘str’> 所带的方法:
find(str) 判断<class ‘str’> 是否包含str
startswith(str) 判断<class ‘str’> 是否是意str开头

所有字符串的类型都是<class ‘str’> ,但是response.text不能用in判断字符串是否在这个里面

但是普通的字符串是可以使用in判断是否存在于另一个字符串的

def test_in(a):
    b = '123'
    if a in b:
        print('成功')

if __name__ == '__main__':

    test_in(a='2')
关闭