• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回python栏目

118 - API层 - 外部API处理 - requests库

作者:

贺及楼

成为作者

更新日期:2024-05-30 12:08:10

外部API处理 - requests库

外部API处理例子

这里处理外部请求的例子

  1. from settings import XXX_HOST
  2. import json
  3. import requests
  4. from ...views import logger
  5. import traceback
  6. class xxSystem_api():
  7. def __init__(self):
  8. self.host = XXX_HOST # '127.0.0.1:8000'
  9. self.api_name = "/xx/xx/"
  10. self.time_out = 60
  11. def get_xx(self):
  12. try:
  13. '''
  14. curl --location '127.0.0.1:8000/xx/xx/' \
  15. --header 'Content-Type: application/json' \
  16. --data '{
  17. "t1":"1",
  18. }'
  19. '''
  20. '''
  21. "data": 123123,
  22. '''
  23. url = self.host + self.api_name
  24. logger.info(url) # 记录请求url
  25. data = {
  26. "t1":"1",
  27. }
  28. logger.info(data) # 记录请求数据
  29. header_dict = {
  30. 'Content-Type': 'application/json'
  31. }
  32. resp = requests.post(url=url, data=json.dumps(data), timeout=self.time_out, headers=header_dict)
  33. respJson = json.loads(resp.text)
  34. return_code = respJson['code']
  35. return_data = respJson['data']
  36. logger.info('XXX_api,xx功能,成功')
  37. return return_data
  38. except Exception as e:
  39. traceback.print_exc
  40. # logger.error是给开发人员看得
  41. logger.error(url)
  42. logger.error(data)
  43. logger.error(return_code)
  44. logger.error(return_data)
  45. logger.error('XXX_api,xx功能,失败')
  46. logger.error(e)
  47. # 返回是给用户看的
  48. raise ValueError("XXX_api,xx功能,失败")
  49. if __name__ == "__main__":
  50. # 直接跑这个.py文件,直接查看返回信息,不需要额外postman之类的
  51. xx = xxSystem_api()
  52. data = xx.get_xx()
  53. print(data)