Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

72 lines
2.1KB

  1. import json
  2. import os
  3. import requests
  4. headers = {
  5. 'X-GEWE-TOKEN': os.getenv("X_GEWE_TOKEN"),
  6. 'User-Agent': 'Apifox/1.0.0 (https://apifox.com)',
  7. 'Content-Type': 'application/json'
  8. }
  9. def download_audio_msg(msgId: int, xml: str):
  10. data = {
  11. "appId": os.getenv("GEWE_APP_ID"),
  12. "msgId": msgId,
  13. "xml": xml
  14. }
  15. print(json.dumps(data))
  16. response = requests.post("http://api.geweapi.com/gewe/v2/api/message/downloadVoice", json=data, headers=headers)
  17. if response.ok:
  18. data = response.json()
  19. if data['ret'] == 200:
  20. print("Gewe download audio msg successfully.")
  21. print(data['data']['fileUrl'])
  22. return data['data']['fileUrl']
  23. else:
  24. print("Gewe download audio msg in error.")
  25. return False
  26. else:
  27. return False
  28. def download_image_msg(xml: str):
  29. data = {
  30. "appId": "wx_HtqjtTglwIKjQHSsSUYDi",
  31. "type": 2,
  32. "xml": xml
  33. }
  34. print(json.dumps(data))
  35. response = requests.post("http://api.geweapi.com/gewe/v2/api/message/downloadImage", json=data, headers=headers)
  36. if response.ok:
  37. data = response.json()
  38. if data['ret'] == 200:
  39. print("Gewe download audio msg successfully.")
  40. print(data['data']['fileUrl'])
  41. return data['data']['fileUrl']
  42. else:
  43. print("Gewe download audio msg in error.")
  44. return False
  45. else:
  46. return False
  47. def download_audio_file(fileUrl: str, file_name: str):
  48. # 定义保存文件的本地路径和文件名
  49. local_filename = f'./silk/{file_name}.silk'
  50. # 使用requests库的get方法获取文件内容
  51. response = requests.get(fileUrl, stream=True)
  52. # 检查请求是否成功
  53. if response.status_code == 200:
  54. # 打开文件以二进制写入模式
  55. with open(local_filename, 'wb') as f:
  56. # 逐块写入文件,通常使用1024字节的块大小
  57. for chunk in response.iter_content(1024):
  58. f.write(chunk)
  59. print(f"文件已成功下载到 {local_filename}")
  60. else:
  61. print(f"请求失败,状态码: {response.status_code}")