文档中心

基于OpenAPI规范的标准化技术文档枢纽,提供版本化、交互式、机器可读的API全生命周期管理解决方案。

文字转语音

正常 按量计费次数包

文字转语音 API 接口,实现多种人物、方言和语言的语音合成功能。该接口覆盖了中文、英文、德语、越南语、泰语、西班牙语、印尼语等多种语言,并且支持选择不同的方言和声音风格。通过这个接口,您可以根据需要定制化各种语音效果

更新日期
2024-03-24
免费额度
100
调用权限
正常
每日限制
无限制
请求频率限制
1秒10次
参考价格
0.009元/次

计费控制优先级(按已开通的类型进行):

会员->单独包月->次数包->点数计费->账户余额->免费额度

按量计费:

支持点数余额抵扣,每次扣除点数:10 点/次 约 0.01 元/次

次数包:

额度 价格 有效期
10000 (次) ¥ 90 低至0.009/次 一年
50000 (次) ¥ 450 低至0.009/次 一年

免费额度:

总免费额度 每月免费额度 每日免费额度
100 (次) 1000 (次) 包含在总免费额度 100 (次) 包含在总免费额度

请求限制:

免费/测试用户请求频率限制 请求频率总限制 每日请求次数总限制
3秒1次 每个免费用户的QPS总限制 1秒10次 每个用户QPS总限制 不限 每个用户每日请求总次数

其他准入要求:

  • 账户余额/点数计费的用户,不限制每日请求次数和QPS
  • 次数包计费的用户,不限制每日请求次数和QPS
  • 接口地址:https://www.apimy.cn/api/tts/tts

    返回格式:audio/mp3

    请求方式:HTTPGETPOST/JSON

    请求示例:https://www.apimy.cn/api/tts/tts?key=key&model=mjiaxin&text=%E4%BD%A0%E5%A5%BD&json=1

    请求HEADER:

    名称
    Content-Typeapplication/x-www-form-urlencoded;charset:utf-8;

    请求参数

    参数名类型是否必填说明
    keystring接口密钥,在控制台->密钥管理查看
    modelstring人物代号
    textstring生成语音的文字
    speechstring为空生成语音,不为空获取人物代号
    speedstring语速,100为正常,默认100。支持50-200
    pitchstring语调,0-100
    volstring音量,0-100
    jsonstring为空在线预览,不为空获取json格式

    返回参数

    参数名类型说明
    codeint返回码。200表示成功,其他表示失败。
    msgstring返回消息。成功时为空,失败时为错误提示信息。
    dataarray语音文件编码,需要自行解码
    timestring耗时
    ipstring请求IP地址

    结语

    本API旨在提供便捷服务,严禁违法使用。如有问题,请联系我们。

    返回示例:

    {
    • "code": 200,
    • "msg": "合成成功",
    • "data": "UklGRuREAABXQVZFZm10IBAAAAABAAEAgD4AAAB9AAACABAAZGF0YcBEAADz+lP7Bvxp/OP8iv0W/uj+xf+XACYBhAEZAvAC1AN0BO4EPQWRBYoFoQW6BSkGegasBtkG3QbIBrQGiAZqBkAGKQbfBWcFqATnA0cDxQIXAjIBFAAo/zT+Sv2E/On7cPvP+ub53/js97/3xve290T34va+9uv2P/e19yT4pvhE+ez5gvr2+rj7lfxR/fn9lP48/9//XgDXADkB2QGUAmAD5wMoBGAEpgTsBEAFqgXzBS8GTwZwBnsGhAaQBrYGkwZsBhUGuQVJBdoEfgTtA0ADngLVARUBYQCf/9/++P1T/af8Lvy9+x77dvqw+Sz5Ffn8+AT5x/hR+En4evjB+Bv5VvnN+Uz6zPov+6H7Sfwf/eT9af70/pH/OQAQAcQBQgK0AkkD9wN/BPkEWgWRBfoFdgbNBu4G+gYWByAHLwciB+0GlAZwBiQGtgX+BEMEmwPsAj4CaQFSADz/Iv4i/TX8o/tS+/T6HfoL+dn3FvfU9gT34vZz9gr29PUV9oL28fZl98/3cPiR+UX6Aftt+wL8evwH/e398v6Z/wIAkQDkAFgB6wHGAnUD9QNkBOkELAWMBf8FbwbNBiAHmQfjB9oH6AfbB+YH+wcSCCMIugd2B/gGegbBBeYEHwRfA2sCoAGnAPn/aP/e/gb+K/35+zT7fvoH+oH5Lfmo+E/42PfI9/H39Pc3+Gn4yPgQ+aL5BfpW+kv69Pp2+xj8oPz9/D39d/0R/uD+ef/x/5oA8gCFAegBuQJuA+kDjAQ3BcoFQga6BiwHoAf4B0oIyQgQCQEJGAkMCesIqQhCCNgHIgdgBuQF4wTLA5QCmgHbAP//Hv9w/gH9t/vb+jv6kvn0+P/3cPeL9k72Y/Zs9lH2eva69tr2MvfW94T42fiT+T/6/vrA+3H8Bf2n/X/+wf9lAMgAWAEZAvICdQMXBMAEcgUABp8G9wZUB7AHAwg6CIkI3AjzCLIIsQiPCCQI1AelB/QG3gUsBVIEcgOsAuoBzQCw//X+X/6P/dT8Fvwk+xz6zflj+fj4ivhX+PT3ofel9/z3zfek94b3n/fa93D4Hfm4+Qv6kfoB+8D7kfzA/Zz+bP8bANMAygEKAgUDAAP8AjADTgWSCgoOtwuhCuoHOAf8BxgJQAvpC8AMswulCUQIMArDDLUNmAu7CIsGAQMLAmoBOAJoApQBwf/e+5P3+vSw89D0fvc4+ef4P/ad8mXvdu/A8m33qvkw+hn5D/j694H5mvsP/rD/fgDY/z7+U/1K/Ar8BPxy/If81vw6/Xf90Pz//D/+ev+/APEB6wIABFMF/wZGCAwJgApNDOANhA9WEIMP9Q4dDm8OpA6uDl8OoAwmCskHQAW6A6kCLwHK/en5DPYI8pvu0uoo58zmvO3/9Mr1tfBH8PHy9fd0+vf87f3O/ksBeAEe/2D+jAGkBqwG5QJL/yr+C//O/3b9GvtP+m78jfwo+Sn4C/v//xgCvAHRAEIB6gQECdsKmQraDOEP4w8ADRENMQ89EtMRNQ+fDHkKSQwaDbgLIQkcCHUHlwSj/+39Fv2I/A360PP77TjpU+hr5Qnf4OHA8vH9jfrD7Bjs9PMr//IFOAdyAv3+WwKsA5z/SP5xBUIKMgYt/pr5Y/ju+5kAbP+g+eD2NPk9+f313fge/28D+gOyAs4AwQGnBzIONQ6XCwAOJRG3D0MOig5dEsgSqxD6DfAK3AoWDlcOpwvqB6QGhQa2A10AuP65/Rj8Xvdx8Ezq2Of55zzlC97E3o7w6P5k+tXqTulM91QFVAofCtADxf9BAtkGXQPCADAFHgsfBQj6lvTI9Yf6LABS/+n2zu9c8hP3KPiV+iUCGAVHAsf+SwD4BeENcBXcFD8NFgq6D44VWhazFVwVghMaDyQM8QuoC4QO+w6VCT0AtPz6/2ECYP+L+072PfF37hPscOmS5C/j2N/v2VThxvqMCBj9X+n17eP/sw3nEmIQ9QQx/QkCCwpnBO8AxAa0Cef9Y/Gf79H0c/s1Af38ve6g6O7vtfpn/cwALAR1BCEBawKsBjwM1hOSGJYSMQiqBkYRaxhhGNcTEA+NCggLqA3jDnkMegzSDOcGOwDU/w0GwwYBArT67/Uk8UPxPvAS7P7kP99723LUmeAr+zELtfoP5gjrUQF3D20Uvw/+A5X6uALtCyEHNAAYBeUGcvrC70zxx/fW+iP9T/hn7NPnH/Jb/XMAq/8zAmoC/QLmBiwNzBBNFJkV5xDwCcAKLhTQGSQWfhC7C70Ktwy5D2MPKQs5ClAKvQcPA/UDTgfjBdv+r/jG84jx/PAY7ifnDN7l2A7TeM/c4gkGzw5H9l7ddO3RB7UXJhhwEXcBK/kgA8cMRwcYAKEG4AQQ9lDqge5p9hz6jvsG9ojpSude8y8BeQJIAk8D9gVwBnsMMhE1FIgVsBbqEKoKPQyZFoIa6BTxDZIJ1AniDHkQEQ4OCVcIEArFB8UEVwXBBzwE2f7f94jyAPCA74DqUuLi1gXP3MVG1ngB9xgrAFDXg90uBE8e/R7dFREEUfgCAGMQzw2bANsCVgoW/vXpcOSx82wAMQIG9WTk5d8O7tkB0Ad5AgT96/9bB68PCxOzE+gSFxXMEjsNaQsNEh0aSxhHD/8GDgabDB0T2RLjCcAEQgbWCrwK5QjtBjIDZf+E+vH1APFN8PTqvuKF19TPQscQyinxNxi2DqbePM2i9kUgOiqiGpUFVfWA+nwSnRqaCpT9JwPg/wjxoufD8Tf+vwE3+Yjm6Np85Pn+Ag7jB9b4sfXm/2ERvxtTGvUS+w4+EGgPyQ9kE34aiBljEb0H7AS9CdwRvRXLDtwE+gFeB8gLOgsICccEFv/l+Hn12PEz8TLsQeVc10XL9r/wvvriBhd2Gsnn8cJ+6F8gqjCAIw0NcPom87YM6iC/F1j/gf/QAWj43up/7rX5pf1Y+obuuOG84TXzbwVhCDMAEPvT/VYJsRi2HUEWNQ9jEfQU3BFDEKIUThhdE58MnQfmCCgNBBKXDuIFAALABh8M1QsMBwoCw/0E/Cb5ZfS17hHo6OCn2bXOScFTuoHf5Bc/Gqvk8bue6OMjczmVJJwL+/SE9j8UsCsaGx/8Nvi9AEz/GPGs7bvzYP2E+4buPt0V36PzKQrtCqj7yvFD+3oR6CDmH/wThgztD+kWfhe0FYsUORUBE5YNCAqpCJYN+xHtDs8EegDnBaMMmA0tCDQByPrX+k763PW/7DLlVN751YDH17h+uv7vrSOkEz7QwbXr9NwxMz7GIMAB/utf+KcglzU8Gez2SvW8AS8AWvOj82P3d/iG8dLqEuRl51f22wNNArL3IfbyAWAVZCLtHi8Qrgr2Eu4d5R3KF/MRBw8uDw8QUA+1Cz8MNQw+CGMCGAJCCWUNPgztA1b8Xfj7+dH5GfQO6UjdidZZzofDPLVLzmcNciVo72KxdM/1Hds+7S3YDoP2GO3TDCE5rTIzBrXv/vryBEj+iPiq90f0h/E97SjnTuN77eH71AEn/Av1E/kmCNcdViTjF8cLIQ8wHVQgThp2Eo4Plg8IE4MTtAy9BuoGAQviCKcEAQUVCNQJJQbYAXL87/p8+oH27eyV3+LZhtaVzLq5GLfw7VYi7Q2pxhayaPd+Nbs8mx94/dHqGvtdLtpByByr8Zrt0QG8DskHHvjM5zzp1/PE9jzr5eP+7dT7qwBd98j1AAAdFtYg2Rl7DB4LVxohJdEhKhWPDRMNrRR3GUYVzwhDATkFHgp5CuUHpQb1BFMDLAFO/lv6mvnl9X7u6N/S1y7WKM+hvx61zOSiHLYTWs7FsHzuwDGmPQwi1QDo7Dv5FijMQ3AjCfWQ6S0BeRL3C1/4B+dR6CTz5/i07djlUesR+oT+nPjR9Oz/1xObIIsZjguWCUYYUCdOJL8XPQsHC4ETQhzbFzsJ7v9PA3gKeAt9ChgHHATdAMYAGf+c/GL6sfRq7GzdKtco1WDQCr4VtETh7x31Es3Nqa028Gozxj9DI4kCK+0K+K4pTkYoJsfyUuhYAA4VyA1v+bPjZuO88eP8QfPZ5dvnqvQN/tD6B/oWAjMS/RphFaUMBg5KHK8meCK6FdMLvgzzFhMemRd/CPb/TgQaCzYMDQuMBoUCc/5z/kr+t/we+c3wvuap1+rUT9GzyU207b9aAc4i0vMzrwXIuhWMPCswpBgd/EftOAdQP/w/NQ/l62D1Kws8DoIGxfQN513mtvL99qnwwOo17tP05fqI+rD/zAivFxYbnxGxC/MS+iP6JtYdMhHSDboRkBqMGwYQIgRTAi4KwQyPCeAE6AIoAfL9u/sa+6X4S/Ip6nPdbdOtzabIMbvPuvfyLh5ZAoe7LbcTAto5fDxNHo3+M+1qAnc4rEVPGLHrku9QEd0XDQX77hXmvekI85v5efRJ6pbq3fFH+XP5G/7BCQwVkxhLEOgLYBI3IXYnMyKHFSAOMhCDGR0elRTQBvUA4QXeCsULRwf2AQH93fpy+Yj4UvYv8PrnItgX0S3MDsmauIK+Q/YYHJD49LlWxm0OvzZCMiQeSQY89NIEcTgtQVgX5vCa9egK7A5ABWn0LOai5dfw3vlq8jzsd+5Q9Yb46Pg8A7IMiBO7FJcQvA+LFRYj0CfAHDES8g87FcYatxgzEMYF6AOzB6YKzwcdA77/7Pxj+Y32ZfVr8YrsQN9z1FXN08gFvpi0x92uEI0KFM+vtTzudypaOVgpKA65+Q/9qie7QRUnvPzO8fgFshKACsn3BOmn6NbyoPkW9KDqc+4K91b8Ovgb+3kFwxH0F+wTVRH1E44ewCWtITMY3xFGE9AY3xj/EdcIlQSRBoUHhQUIAycBg/wq9kzzgPGe7qroZd330fPJZMPLujy/6vHqEmD3572mxVAG0DByMYYdOAia98cINDSMPVEXdfeB+3gOhg2ZAsT1h+x77IXycvli8u/urvHk+GX5Y/jRAFwNzRTQFgoU6hMHGMAggSfeH20XzRKfFS4XXRQ3D/QIQAZ6BJEDxwGcAcH+kPnE8trube2+6uzhT9Royj3Av7lHvbzxERPG/bi/3bsK+bMupTgoIsQGJfXcBxIyGT09Fwr5m/vOE6ESMQZw9ULtqu6d9nL81fVc8Rnzu/ZC9hz3sP/DDW8VphYwEWAQXRcKITQmjx8kFwIS/xPMF0wWUw8uB54DZQTHBPUDTQDa+pT14vE88GXsMea62lbSPMgNwsW3ms0t+dgIgeMkv0naSg+dKu4nGRdqA4z7zxX/N2Yvjw5Q+zwHChAiC7IBT/j48jvyLvZJ+YD1rfP388P2N/ll+i0DUw6zFhQXVBNjFIUZpiBMI9AeOBj6EkASdhNlESsNVwirBZoC///d/oL93PnW87LuhurP40ja4NIdyjHAyLaj0cP8TgOH3xfFIOOxDMMkayXYF/UEPQC5HPY0PycMCyUAmQuFEJsK5gK8+D30x/LQ9/L5xfcQ98r1sPd3+C78QQVxEW0YGhczEzgUKBkWHm4gPx1hF1gRQxC8EG4PwgusCG4FfAHh/Yr8Avyk97vxr+zt507dEtSAygXDXLUYxaLvqgN56qbHGNg7/ZoawCPHHn0O2wFiE0ovtSraEkUE/w3HErQKEwSg/s/7V/fj9q72kvM6+AH9/f2t+Cb39gGtDtsXVBiZFQ4VIxiSHMMckhmyFWYTFxJWD40LkggVCCoGAgHS+v74VPlc9ufvY+gu4QXa8dEPx2a2ord/3Yz+yvzC2LbR8efaCQ0hRiJCFh0FjwxvIvgqnhxzDKsKHA+LC0oI5AKm/rf6/fkr+jb2cPfb+1L/jv/8/WYCRQpUEgAW5hRMFVUWnxiIGJcWABQAEVkPiQ2kCxEK8Aj3BwgEFv1L9w72v/ZA8y7qz94y1RbMpMFWtQDDZ+Pg9vHrGtqO5OnzHwcxFiUePRjgCgITqyLoJEgYVw0vELQN8wdaBggEOQD3+AD5Wfp1+Nv7yQBtBsIFRgNICBUQSxbdFbsUxRWGFjwXbBTWEFIN3wtFDAkKBgcpBFYE3QRGAD/5R/VO9ALyp+qa4RrZEdJYyX23+7oI2Xj1mvf05u7lJOyT/A0S/R5lHJkQCxNkHYwhmhhkC44Krg17DjEJtP8z+pX4OP1g/+D//wG8A2UGiQjMCz8NchE8GGIZ+hPWDRYOTRKFE2cRPw0ICiAHGgUWBVgD9wBVADIBEf7k9YzuKOrs5f/fHNdLzLK8lbruzpDlIfGR7kjxffPu+LkEVBA8FqsUkReqHc0eBRdxC7gHtQckCakJ5Qa3AAb8Nfza/4sCFAczChcOkhB9EJgOPg6YE9MYFhjKEmIOUg3JDJoKpwnWB2EDfAFtAwMERQET/07/qvx/+LrzW+5e6LHg5tlJ0drCH79wz3nlc+6f6TDr8Oxo9CQB/Q3gEsgOPxHvFywc3xRICBEF6QfaC+ALVAd1AOz7QP9lBIsH+QvXDz8TYhSgE3UP4gxWEjUYeRgaEiQNlgtzCU8HNgY4B+kGFwXcBD8Djf/W/Vb/1P68+WD1HPLf7OLl5d7Y1zfOCMVkyxDaIObA7AzxRfQ/8ib29v5FBtAKjQ/iFXkXghJACyUFowDq/psCXgnjChAIoQWkBk4JcA11ESsTlxSiFk0VfBGaD3EQhhClDwAQpA6UCdIDngGeAvsCdwPmBMYF+ANyAQQA7f06+2H6M/oA9njvZOp+5TveY9VCziTSgtt05Efq1euC73/xgPZo/HoAbgMnB14PmhLuEQkOfAiQAlIASgNBBqcGnghNDPQOeA9xDqcNYg0gD8ESbhPLESAPxg6KD8gO3gxjCaAGgQSGAw0FowVzBdgFOQbQBVYDGgEi/9r8lvq89wD11fI17wvtb+cw4W3aOdcT23PgkubB7EbxGPL075/13/8SA/sA6wIzCQAN2g25DKsIKQR8AhAENAjVDP0N/g2PDr0PtBDuEBQOiQooC24OQg9pDacLuAr2CY8HSAX+Ak8BPwH1AzwJQwpCCFsG5gQHAmL/cv9J/Tz5jPY/9f7yMe8i7ZXsouof6NDkdOXt5rDiW+MV6w/zIPjM+Zv9jf5VAHMCzAT0BwMHGAa6B08H2AYxBxcJWwoyDkMSKRIXEWkQOA4RC9AIlwgMCJMIIgn/CKoHCwVsA3wESwX4BhUL9QwUDW4LlgdUA20Avv1b+qf5n/uh+/75Yfe48lnytfKx8W/xBfLw8qDumOiC45HiB+aw6h3yePmR/M/9eQGpAsEDvwSaCHoKdgk8CtMIVQa7BMUG6Ar9C+AMQg2WDYsLSAegBPoDJwarChIOhw2zC7UJhwe+BTgFQgT6BEMH+gcJBx4GdAPg/8L9XvvF+In4h/kk+mz8Wv03/Pv5a/f49HnyCPBJ78PtletR6APqGOxm7RDzbPpbAHEDaAR7BfkEQwLTAo4E8AQRBEoFGgYcBiUI+gqfDOwM1wxnC8gItQawBD4E8QPSBAEGrAWnBbkGMwfpB7UHjgjpCT8LLgklBWEDcAAY/bH4+fSj82j4l/yM/YcBxgLBAWv+TfrJ9arz9PR18+byN/Fm7bTsK+lX6mLvB/jM/+4EPgXYAe4B8QGEAm8DQgZHCNcJOAj5/2z8Kf7dAZUGeg2oE64TjBDlCY8BXP1m/WAAqQLjBToKygp+CaMG/ALSATQD9gXcBccCNwAg/ykBIwF9/hT+nvwk/eD/vgHd/kv6DfhF+A74tfTc8AbxH/fm+ub70vl08ijxW/TK9cH0FfYe/a8DsAevBH/9vPiz+Jj9LwN/BDMF/Ap8FMoVQg6WBcf+jvyz/Q4AhwJWBGEGwQjWCWgFfwCLAAgDmATlBUEGFQc1CNEGhQM5ACj/zf5t/hD+iP6JADsA2wAvARz/dfs1+q75JPqP+oj6W/pa/oEArvvA9lzydfFv8n7xqe2H7nL2FfyIALEEPAOLA/EJ4Q+5DkYIwgDH/Sn+CPy698339Pp4AA4HawrdB9oC+gEJBSoHbQiyCtMN/A0IC5wHFwLJ+2D6pP3vAV0EuASmA7EElAPc/0T+mP28/An/ggVdB0kGYQOS///9OPyj+ZH4ffcT+Ef6wPo3+3j7Ovot+XD6XPnP9eD3mf2JAT0A9v1gAI4CfP9e/KT8afwI/aICrAjcCs0FEvzA9qf5lPsf+aj6ef+MBegMFw6+CLkE6ASIBvgDhQC6AdQDwgUlBNn+Hf2s/n0BBAL4ApQF6QbdCYcJGgbMA6b/GP78/98Amf7z/YD/iP78/9EBrf2l+Ez4V/we/+X7FfgQ+5D+gv8eAocCBv8+/IL8lP0M+373Nfgh/jMB6gBlAd0BHv4q+XL3NvkE+kv6vv7HA/wCFf/c/wcB8QAq/pX86v72B4YNgAg3A3gAuwIABfgDCgIQA84Fqgf7B18GXgIAABQAlv/L/ygBagNaBtgInAhJBgAEEgEX/qH9BPxh/FH/6P94AS0DhwBC/Fb8qPuC9yj3Gvr9/eMC4wNaAwkF8AFu+2H4KfaB88nz3vZP+v/8kv3B/Sv/KQC5AE4BQP/u/BX/mAIQA9r/Zv3S/S/+8v1+/nr+x/va+4gB+gXABWwIRQ5wEl8SYw6PCTYDH/zJ9YP0l/fZ+qsA1AdTC3ALVAtWCNoDxQFUARMB5gEjAsoAQ//6++f3xfeF+tv6z/5HBfEE2QQQCbkF+fuN90f1PfCb8QT3yvmK/Xn+GwCBBLYC8/1L/CP9EPvK9/L0afLh8mj0wvZk+VX9fgW2C58LyAiICJUKNQiZAukCHQM7/zX/9QQaCVQEiP8HA/0HvQhGBtcHzgqVCJoEWwIHAJb9U/3iAVIEUgFbAiIFPQLo/M758flI+yr+LAL2BGIGZQUSBDsBHvlc8OvvH/LF8dr1DPtp/D7/bwQRBc3/ovvn9+Pz1PXi8jzx1va++1EAxgb8CvsISAmpC0IKAARTAWUB1wD+ATwCEwEoAIYD/gdICkMMmwzrC9oMRAqcBN4Av/qp9uz6Jf9e/kf9uAGcCHkLHwpgBz0EQ/+J+zX83PpI9Rr0DPh4+7z74vsk/p8B4AEl/+f7VvhI9n/11vTR8jPyWPbc/VgAT/7D+2T5w/dq+Qf9Rf8tAU0CwAdsDN4KNQSy/if96fvX/nwFAw1hE5cUBhMbEBAJUf96+Fj1SvbB+woDFQd4BicGFwhkCY0GWQO9BGgJ0QowCdwDU/yZ94TzF/GJ8gn3lfzrAe4HPgohB40Dvfxa9yb1P/GE73/xRPMg9gL5qvkb+eX7+v6AAGIAr/5T/VL7Bfn397n7af8nA7EGGwoFCv8H+AVfAoH/zv2gAb4JVQ16CtAJ2QzmDHoH3wHC/sn9rv+IAeoDPgVAA1ADQAVFBX8BW/6EAAgFTgelBlQF8AKE/+j7A/pR+DL3NPfO+r3+1/6t/Nf4W/hv+CX4GPlX+ab4h/iV+yj6RPRz8evtgO0U8zn5Bv8jBYMK/g/yEVYO3wVI/9L8j/0P/7MAAQMIBXgFNQX1BwgIGgdICS4PfBIQEegLNwTJ/Yb34/VS+f/7gv0gAp8K2hA2EVcN8QYEBHYC4P9h/mz7zvYe9m74xPhh9jf0rfR6+af+NQHDAE3/4f05+y33IvLF7bnq6erv7o/0N/q7/gYDFgfmCVQIIwSoAHP/3P5C/j3/3wAXA8YHiQ13D8INGguKChMI1gOvAVMBCQL0A5UHxAnwCAkHUAeUCKMGCAJz/5sB4wJCAqYDEAWbBJQDtgHJAcz+VPcY9l76svuY9zH29/gX+RX41vW78g7yz+4i7ETyTfa+9Przw/Um/O7/xf5i/nIAYgFr/xgAywI/A34BtQG/BbcJgQgmB1gJxQmTCPYGMwfsB0wFtAMxBWIIFAoIC9sNfA2tCPIEMwMlA54Bsv2C/0oE6Ac4Cs8JbgfYA9b/vvwm+Uv2gPRw8z/1Zvbw9gb1VfLp8670pfNE8ZjvmvGs8lfwKfDF9Wv6EvwG/oIDLAUqAxYDzQMpA3/9cfhW+gz9Df0h/yEFMgzkEOYT9hRyE78QywxgCh4JpgZYBB4FPAfPCOUH5gR9A8ADawRiBQgGwAUUBkIIzwoMCxMIWAMc/4P9Wvsz9knyevC88Rb01fOb8hjwKOvI5hblM+bQ6J/uefZr/rEG7gveDhAOawfv/ib5L/Vt8zjyNPIi9pP6Tv8rBEYH0Ag2CmsNLxLYFM4UxRIEEZ0PjguBCPUE4QEuApcDOgaUCHAJXgkCCe8IkwggB0oFEwS7BPIFOQQwAjYAq/0v/ef7lPrL+vD4c/a/8wDwnOu25Ejdk9Wl1HnbDuQw8ML8RAlCFnMdNx8tHCEQIgKV91XwLetU5+vnm+6O+RAEmwrtDcIPYxAlEN0NgwqgCDcIewrxDQQQYBBtDxoOSAzbCJIESAFHAAYChwUpCoEN9w5XEIYPMw0hCCAAdPkw9brzf/SJ9rD5g/3q/27/7frq82zqb90K0BXDDsLXzAvcgPAIBgod8S/XOOs26Sl5FLb9sOuF30jXctOM2bjnHvszDDAWZxxAHhscdhbVDecDC/yX+SP9bANcCS8OzBE/FcgV8xJwDs8IKAWNBP8Fgwg3C/wMog41D8kMRQcrANn5MvWT82zzUfUL+aD9tQBuAan8y/Jb5yTYU8e2uMC3a8VJ2zTzsw0KKmo/RUi7RbM2DBuz/Afl9dWmyyTHTM1g4Kf3VQzFG+IkgyfaJPoddBOrBez42/Kc8934I/6iBCIMcRLBFosWdRSRD+8KAAn9CPAJOAo1C6wNUg/MDbIIhQFy++T2XfSR84b0JvhE/e4B/AO1ACD45OuV3MfKYbfXqX+wBsa04+YBvSIhQpJVyltJUas4dRNE7hzVm8X/uUW4vsUN4b/+XxXlJjEvvTCvKyEh9hEM//jvoerk7Qn16vtuAzEMDBTTGDcYwBOkDakI3QZoB1IJ3woFDcIQGhNgEmkLzgJ4+4X2JvTy8aHzDfhw/tsD3gUqA9T57eua3BLLTrYCojuhb7p121j9px6MQphf/WmpYy9LtSQp9yTTLcB+sROoPLA2zYvz+hExJ1k2YTpXNcwnChcvA1vtWuLT47fuAPqQA8sOKBkUHtoblxMJCRr/rfjA+a3+oQT0ChgUBh86I+AdEhP2B0j+SfXg7lfs2e5A9Ub+OgffCV8GivxJ8DjhE821t02hQZWSqQbQnvmBGnQ7U2Abddtzw1wkOMYHAdnmuhKuEaLhnrmwBduUCb4mWjbxPRk9kDMHIGEKPfEa3RraaeZE+roGLw86G1slOSU1GYQHNfhT62nm/uzQ+PcErBCRIasydjX8KY4Z4Aqk/ELtM+Or4eXld+9g/cQL+RD4DPsEWvqj6TvQX7cyoY+PcJtBxZH03hgKNlhcoXqwe5Jn2UNrFPDdo7bhqXmfF5Qjn/XLmgUiJ4k16T8HRBg9fSXVC2PyutnP0TTd/PV5B04Qhx5HL60yuSP2C6T3fOZe2UHajOa/9QsEQBiuM2lDsD3mLN4d8w92+zLnu9xC3FDiy+0v/zAMUw+EC24Hp/5b6rjPO7jppmaUlJZpv5zygRv9MWFR+He0f5ltwkfQGSjnfLqnqJuhH5V4mFG7rvgEJrg1+T1+RDBCGC4WEVT3GttczFXTJ+24BBYNKBkWL447sDDuFrr/Cu4N2r3RI9jV5djyLgYpJgY/rkKwOB0wHyULD97zXuJf28LZ0d607jMB2Qk1DWEPmBDVAtbps9CSvOKrCJebkoS4tuwRF84qzUYzcv9/EnF0TYwlxPaIx4OuD6eomCyVjK/d6vocRyytNaVA4ETRNGYYQgD64/rPVNEt5yP+fwVXDyopnDzMN54gHQrI+N3iMdTT0ojZQOEq8u0TBTSUPl48CTw2OVknJApi8pPjD9n91Rzga/A6+pIA5QxiFysTR/6u6NnXRMPhrZyUdpIJvKrtbxNoJBdCxXBvfr1wVFF/LJz9gM7Btp2tVpkdksuswOjmFgwizywaPAFFWjeCHCAE6eX00SnUGejq+Hf7nAiaJto8zjjGI/kQ3/8x6ojZLNVT1n7YHebzBz0pDTU9Ne460EDlMxMY8/4k713i8Nmp3lbpP/Ag9wsHRhYUFQsGH/bo6HvWTb+5qW2Wq6ADy5H4WhUZJeZKCXTueFlkdkeBJgH53c9DwQCytpjYlBy70vOBDeAVNSibPXlBDjDBHMMIRukr1kjaA+zQ8IPulASJJVM20y3WImsbpQlt8HHjD94S1i3RyuJpBZ8ZXiGrK9c/iEX3NgwiiBGqAAztGuJ84kDjiuEx67D/Zw7dCIgBQ/7J9/XkEsz5uCqk0p+3vwLpYAXEE/MyvGQkdXdq51JCOt0TE+jB0Z7BiKWSkx2nptfN+VkD/hUrMNA/JTmtKU0aiPwu47zdQufO6CTiZ/EXEwoqOSyWJ0gmZhoKBPPynuiP27XO+dV28QIIrxIZIMw3xEd7QjozCSR2Et37t+kh49PdutjG3YzyJQSzBq8EBwgcCDz4MuK/yha4FqH8pAvGcef3/DoNMDkCZjpyyGYkVaU9xReN8O7cqMT2oXuSPKz72Wrvh/h9EvYyRkBqNrgp4xrq/MDm1uL75lvgxNtl8jIUXSaMJ3InfyqbHxsLIfm46gHZ58vh1aXv2ADpCHMbuDljTHpGwTgXLKgc8ASy73bkQtuu07jXQOo6+5AAEAL5CXsMWwE+7YjYqsMVq5mfK7rQ28/xJAD/I4NY92xjaTxcPE7PKj4B+ehx06CujZTzoNPJS+Sj6wgEGSUDOvY3eC9OJfcKge+85FbmKuBb1kHiswOJGzojtyZALnQqMhhTB4r4n+Xc0I/OeOBt8ob8WAxGKdFCq0iLQnU6zSwpFvH93+2S39fSwM843ZTtxfRf+/EG7RDzCq78Cuqi1Ca8I6aIrJTGbd0N75cHIToKYBtqD2XtWuZGgR5j/2bpc8hYoJyYG7Vz1HLf2e5FD/Ms6DUSMuAsjx2TAB/r/uQ+4TvX/NMv7IgJhBpXIRssrTR6KW8YTAq6+WfgLs6609HiEezN90QRVTHzQkRG/0SePnAugxVa/8ntq9sez0XQCN5y6UrwNPuDCpMRWwrE/Sbs1tRsuqenWbGjyIzaiuvXCdA+AmAraTtlLVzqRvwfAwQF613F655mm+i3HdCc2LHr3g4EKxcz/jDALE4ckQF375/mNN6+0gvUu+t9Be8VRiDQLOQ0QyxuHlsQU/195FTT+Nbq3+nmkfLWDcosZz7EQ+xEz0EEM28ccwUq8jfe+dBy0DjboeM76qH2ZwcdEGsKDABU7/bZbL+yrRK2MMlI10HlkQXHOt9Z7mJ0Y4peVElQJAkNi/SSykehCJ8LuffJN83M4fEGXSKjK8ct5C18HecF2vaW7sjgxNIA1fXqHACmDTEb6imtM9Ms2iOkGJsGq+1x3ArdA+AX4qfqEASoIHMx5DlSQAlCqTa2IykRpP6l6S3ZLtao27Tf5+PR78r/Hgd2BDb9MfHB3ILEKbNLvU/LItaD4GUARTPwT1lbN14KYHVLvyzOF2b/5NLQqbKl0LqExHbCw9Y5+/kXgCHkKLcr3R5zCyQAzPcY5gbVG9fj6tL6TgZvE44lXDA4LqspoyDOD3n3OugJ5aDhmNz94TD5FRPPIqUsvzhyP/g5iyygHqoNl/ej5QPfRt5b2+7a3+SK8hL5zPfN9LHsp90Cx92//8yw1DPYCt6tBlwvDETOTN1VeVoKRp0wISG9BqzXLbR4tf7EQcKhvITQjfQxDAIVth73JAQaJAzlBqEBG+3k2HDepPCk+0//cQz4HxMruypCKpgjjRP5/sz0YPDW5cfbZt8e9fMIcxVjHysvgDlMOMEwkyZfGOgC3fJ46dfjCNpy1lbdgeh567fpKel75XnZsce7zVraKuB53LbrnBJuLvw5vUIMTxRNTjvJLQch0QGh2QbFNMtIy7zCn8IJ2SzxmgCKDFQWzhgDEPkLGwniAMvtduM466D21ftT/2ANIB3IJE0mMCd+Ie0RcQNI/c72AelV3gnkMPbxBA4NwRjVKJYzojN5L7koexqnB2T5kPHC5R3Z0tSG29Dh0eHQ4L7gx96W0q7ONdq15T3n6ObL/4Igvy8kNck9NkgEP7gwOigQF1v1utcN1RzYd80jw1nN1OMv8nj7GAZADx4OngpRCyQILfwU7RTt/PXt+kv7hAE+EGwbtSCbI5UjfBviD8kHdAJX93TphuRU7AD5gwBYCBYWfSWwLX8tZiwJJpYYawn4/qj0++S/2AHY7tyO3X/b5do423fWm9A62EbkvOm26oD2mhTbJmsvwzTyPh0+pTHHKoEgeQgc6HncHt8a2pvLBcyN2/nqVvIH/PcGIAleB+UGHwnnAMD1xu639C/5U/v2/gIJLRUyG8ggySLcIEQWSA5uCKoAwfLC6PzpwPF++HP+pApdGbQkMykZLMkqcSLhFBwKkABT8Z/h0Nnu21rbodc71orYgdV+zVbRr+HZ6zrr7u8sCVgjnCvcMJw4BT8/NIAqziQYFbz3p+AQ4GXhwtc3zbnUhuaF8j34sv9YBk0FwgLXBOoDLvh27AfxvflQ/Ab8UQRlElIaAh/rIk0jFxt6EmoNNwe2+brs1enD7331BfnpAcsPEx0tJHEpeiqiJa4bYhIXCUX6TulG3tTbytnW1STSJtId06XNO8+R3njsx+888a0FWR/bKLAryDJyOdwy3CjZJJMX2/5T6t3oW+hk3TDTUtiX5QnuXfPn+aoAKQH6AIcD0gIf+vjwt/Ij+iP8yvuBAfkN1RY+HKEgJiJgHfoWxBJGDR8BdvSF76bxi/Re9vz7ugd6FGcciCI8Jmslwh3MFg4QvwOP8Xnk/t/B2+TU3c6WzQPKWcZLzejenem77RH1gw7vI9oqSi4dNHc46y2jJvUfUBNs+pjqK+qC6kDhPth83pnqxvOv9Wv7O/9b/nD8Bf8//gD0B+x98ev5Xvpe+wsEwxHlGPodSyNYJOUe1Rj9FYYOLwGL9A7yovPx8/bzQfs/B2kRaxn2HywkOSEIHW8Y4RBUAdLx6+fA4rPbTdPszWnLBcmEx5vQ4N7S6WbvOfw3FGwkqinCLfY0MDSkKsUlMx7NDOP2tO/e8Pzp29763TnnxO2w8Xf1GPw//BH7u/vO/dP4/O/37p/1cvm8+KT9YwnWEy8Y5R72I48iuxwvGSoWJQxJ/iD3A/e89R/z0vVN/2cJzw87FwYehiBfHXEaRxYuDJj95PCe6ori6thB0ITNmcoNxW3GJda65JrqIfFYB7IehSalKhwyxjaFLv0nIiRuF3IAk/J+8jDwH+XK3YriDuz/8FXz6PdK/En8ivqv/Ez8B/R77LbwmfhZ+Hv31QEUDzgVuhlFIQYkHB/aGoIarRMZBgL8T/ru+Tz1hvT6+pAEaAovEMoX7BxZG2QY+hYAEYEEYva774/oDt5E0wbPBMyDxKzB9M9P4LjmlOup/iEaqCThKAAv7jbTMVApmSUqHBsIwfVz86ry++lw3mnhCusR8Qryd/Zr/Cb8GvrQ+3f+b/Wq7FLv4/dU9xf1bP3TCxkSKhX4HZIjhiCJG0Ic1Bi2C1gArf6A/vD3VPS7+T4CHAZnCoASPhi0F+UVHBZ5ErcGJPuR9OrtbuGO1pXQs81hxCXAac0Y3d3j2+dO/KcWDSNhJtourjasMjgqjyelHloKD/iY9c705+kz3wThc+vu71nxmfU9/Lz8l/qn/Zn/vffx7cXxgfhB94Hzn/ucCRwOTRHkGa4g0B3/Gn8cdRoEDh4E2QOHAjn7NfYS+6kBigOwBkgO2BPCE6YTIRVTEiYIr/4V+UXxguRZ2CrSUc1Nw5y/GMvY2ang6uZf+8EVWSHSJ70wVDjzM2AsGCqKH9oKd/lg9ujzF+k43lzhRepm76Twj/Ur/B396frx/q0AW/iw79HyX/rM9ljzzvuZCLsLNw9lGD4f2hslGhQeRhukD6wGlgfJBSv9Qvif/FIBsAGmBIYL5hDPD2ARDRPqEDoHkP+O+oHyHuU82c3Ssstiwva/Uc0d2Y/fh+fZAMwXqCGmKIY0bDk1MrgufCtLHnsFd/pS+Rzzj+R03qnj5OoJ7lLwSveZ+yX8Zvv9/0T/+PUH8JX1afnS8xrz6/6fCIAJrw9DHGEfJxxDHeYhHRzkD/cK1wuNBQ38A/re/Zf/Sf7nAm8KHg03DQ0QnREpDeQE+/4v+sPtveDj1uDP8sWevkLGI9P52EreyfOGD3sdRSOnLxI8Mzi5MEEvJyk7Er7+Qvs++UjpDdvC3jXoD+un6Rbygvqm+/z5CQCjAoH6GPLH9Tn7fPQ08K749wSrBmQIYhQXHlAdXBynIf8hHhdvDvoOYAyPAH35a/yC/0D8dvxzBC0KpQoRDJoQtw/QCLoCiv969ufoyt1t1trM9r8NwArModUw2IXkFv9IFhkgMyr3N6Y9SDfVNAIwNCDQB4n8Yvnd7jHfS9g34IPlKemL7MH3n/yc/Mz/vwYwBFv3svSQ+sD5Ge9B8RD95QI4AnULYxkYHXkbziBaJvUeUhQLErgRXAfC++v6EP7W+j35l/86BjIIfAk4EH4Qxgv9BSQDxfr/7A7hHNhdz7bApbwkxA/RadQc3R30VhAkHfkmrzZSQDg9uTcdOOMpJhKi/wz8CPLM4IHWmdoj4YDjG+gf8fD61fxt/wgGtwdb/vj2OPo6+2fyI+7X99b/bv9qBiYVGx0/HNIg9CjKJScauhUxFTIM2P6J+ej69vf386T4IQC1A68F0gudEAoOeQiOBnQAP/Oc5fDaPtHVwUK6M8KHy/fNtdUM7zELCxuCJdg3RUMOQqc+tj0FMWsWFQNk/Vbzl9490cjTZ9x73s3izu1a+Uf9bQHUCjMN1gJl/LkAX/9+8yzuA/ea/dD79AGtEOIY8hqFIRgqlieOHRcaYhk/D6UA/vkD+g32x/FT9eP7zP+qA0MKXQ+2DQQKrQfkAL/0D+Zp2tbOsMDyuenAV8hUzNfXnPIsDKIZOSp6PSNGHkFlQ8FBXy4qEjkEoP2Y6u3Wus8O1V/Wq9l24nbwu/gP/dME7A3tDd0D5P+fAnD+lPFx8LH5dPwA+pgE0hT1GdQZ8iMALeIl6xtfGg4Z+grG/O/5g/j38cjuIfaV/LH+EALoDI4Q6AxOCJEHQP/77mbh39Umx2a4Lr0FxDXHocgR4gr/3BCeHhU0/ETFRMxGYEgXPCEhyA3VBND1dd//0HzPodNq1qjboOV88jL6gwH5CasP0wn5AYsERgQK+QLwiPUP/Ef7v/75DMgWaxkEIcwqCiqiIDAciRsJEoMC7flh99vzMe8l8Wf4Zfz7AFIJkA9FDv0JoAhtAoT09+MV2AvI+LqQu5XBg8Lbw5jamvf6CssYLTAHQmBGDUhgTdtChykJFc8Ljfxd5DrTUM920QXSd9fk3wrsY/UK/lYI/A5EC1oGlAe6B1z+VPSK9kT7svpW/ioJdBI7F18f4ClsKmIj/R8sHqIVLAfM/Tz5rPMI75nw8fSH+Gb94gUhDAkLVwiaBicAL/SO5A/Xz8aguz69MsE5wBzFF92J90kKgRoaM7xB7kVwSu5OdEHfKbMY3Q1B+yTlZNcs0t7QitGp14XetOmJ8RX7DgRJC1gJjgXJB9YIVwAC+KL7dP7i/QUBYAzVE3oXfyDuKZspOyMeIX0eDRXYB83/qPmH8wHvL/Bd86717Pr+Ad0HnAZCBdcCuPx88OfiktTlxbG+bsDYwWHAKsqS5Oz6SQrQHYA1UUELQ8hL6021PXAlkxqDD1D6FOMi2Z3VOdHE0WnXIuDx50nw/vmFBJoIPgdqBigKSQhY/nv6Lv89AE/+XAQxEGkV3BjEIxIspCh3IzMiMB9NE/QGLwAS+vPyUe8W8RrzCPUX+W8ALwNvAbH+wftO9aPoJdv/y5XE1cI2xcHBLsZW2cnxOgOjEmko/Tg1QOVFlkxJQ0Yx7CHqGJcIh/KO40jbptXk0yzVo9lo4B/oG/L2+xECJwS/BbYJSwpCBI0A7QDZAQACjQX0C5YRuReDIPAm2yd0JjskTiBWGREQEAYe/cP3a/SL8HTvEPLR9U742/qQ/EH7qPV88Pfop9sWzi3G9MjKxxrFAMru3rnwFwBIEU0n3DM+OZ9ErkpRQW4umCaIHR0MAPdG6orhQNml1TXXNNl43WXl5+2A9xf+bwFvA34InArBBrICugRKBh0FAQmlD0MUnxhaIWwncSdSJdAkDCGBGMsPeQfX/7H4xfR68WvvC/A98t7z5PPY853xHO2g5nnfpdJEyqfL/M2ey1PLHtqJ7zX7DQkGHbIsxzPdO1xFkEJ8M84oTiOgFUYCf/L76HXgpNpK2fTZ1Ntd4cvplvKn+en81/8vBTQJIAjBBP4EsAcJCbMKDw+6E9cY2h6RJNAmsiWQIwMh3huRE24KZALp/ML35vJh7wzvv+8w7zTvFe/m7I/m/uGM2jTRHst4zd/PrcxE0lrj3PPn/s0OEyEALUYx2TzCQwk7Ci6tJ0whNBF9/l3ze+px4K3bNtt32zPdzOIa6+vybPj2/JgBSgfRCR0I+wejCl0LZgunDi8ThxW4GDsfqCI8IVkgHyCfHJsVIg9HCUIC+vvf9yX0hfDJ7kXtYewZ6j/mUeJb3FPVq8w5y1DO28/jzRPX9uc19sIB8xCBIdopTzFhOpo+vzXBLOcnDCDyEM8BlPZ47QzlQeC03RXcKd6Y41zqMfFT9lP6hQBxBjwJKwmmCagMNQ5ED8ERaBRCFvEZpB2KH6MeOB2vHLQZ1RSWDuUIRANN/sT52vR68EvtOevB50fjzN2O2N7QUcoFyizMNc6wzWPXyOi99UcBSBCtH7Yoxy68N1Q7nTO1K8wnFSBZEmcEBfsK8nLp3+QV4uTf8+CB5TXr2PDf9P/4i/5MBHwHswfMCKgLvw2kDl0QlBIWFf0XQBsvHQ0d+xuWGzUaABZVEBALlwaSAQ/8GPY18SLteulM5OPdLNiy0EXKtseyyufKwMpN0qvh4u85+QoINhmOImUokTLZOGA00SsBKTIlZRg0C5oCZvpv8Svrrugi5oLkSeZ56vrucvJ49T36MACtAx0FTgdvCsIL9AwIENoRgRKMFZQZjBq7GbMaTxsLGd8VmROsDm8IZATMACr6Q/Kb7U7pf+Lx2mzUhczNxjfIycoOyonLF9jO5jvyT/3IDXEaXCHSKoczsDMPLSwqmielH28T2AoiA4j6+PO67zHsrOlu6aDrdu5G8cjzEffB+0oAfQJtBDUHCQnSCm0NmA5rD5wRBRVjFlUWqRfEGLoX1BbZFf4RAw0OCeYFl/+S94nxtOu55MvcYNSvzEXJBcomy7zJNM4Q2xvn5/Ce/b4MKRelHl8oejBZLjspiijuJf0cbxJtCx4F8vyx9pvzb/Dq7SvuN/Bk8gH0HfbE+T39t/+nAX0DbwXaBrIIzQqbC84M2w93EmoTNhQsFiEXtRZWFlwV1hGuDVgKVAYAAPL3rvE16wbk+drn0c3Mystky4zK9cwQ1Yjga+po9poDxg6nF20hOyk6KwcpsyeiJVAfDRe2D4IIfAHJ+8r36vN98XnxB/NS9Lf12Pcg+/P9mP8FAfUCPAQcBS0G3gdoCOMIWAslDmsP3RAjE2YVahZ+FmYWdxQnEZUNJQmsAhz7E/MV7BzkFNo10iHOos11zH3LYtC82cziY+zO+J8F6A7tFsIgGSfHJjclOiSAIaoaTxNGDb0GaQAv/BD5V/b39JH1XPeR+I/58fs6/pb/TgA9AccB0QEOAnkD9APwA5gF3QhRC9kMQQ+QEuAUIhYGF18WJhTGEC4Nzgc9ALH3UPAx6HXemNWY0EPP5sxBzCvQXNjq4PfpZPbFAioMfBQuHkYk3CScI7Ei0x9RGUcSMAwmBloAdPy/+cf3G/c5+Iv6Kfym/cb/5wHnAsICagLhAQEBewCmAC8A8P9zAYUEHwcTCd8Lpw+wEqcUoxUCFSUTPhBuDIsGg/4v9rfu/uXg3ALWl9Kg0MDOO9Cw1QfdYuVU74f6fASnDdMW0h2HIPgguiC7Hi8a9RP2DTEIKQNS/0P85PmC+RT7Rv03/5YAtQLJBJwFLQUYBJ8C6gCG/5r+tP3J/LL9IwC8AmEFxQjXDKkQUhPpFBQVaBPbEM0Mmga4/k32pO295GHck9cg1ArRvdAp1BTaUeHU6Un0YP5oB9QQkBgPHbceLB8jHr8anRXtDx4K3gSzAHv9O/t3+mv7mv36/0YCkATGBh0IIwglB7UFawM9AaX/JP6w/DX8XP1h/5wBhQQDCKQLow4EESMSehGKD1oMVAehAAj5rvCM6JDhytzr2I3VXtVQ2HHdneMx6130Iv3TBW0OJhUHGeYahRubGpIXEhN2DpwJJQWuARz/bP1D/aT+xQAGA+wEKgcICckJcAk9CHUGPgREAnUAvP4B/ZX8gP0C//wAqwPOBuYJdAwfDogOlA1tC8UHtgI5/If0/uw855DiSN5c2l7Z0tuW3+3kvutK8+r6IwNRC5AR6RTNFsoXHRdpFGsQHQyeB38DfABZ/kv9bv0o/wMCpAQfB7EJswtIDKULtwoKCX0G5wMnAgQA4v0W/er9/v78/xYCCgXGB78J/Qr4CvgJ7QfzBCMA2/kf85XtH+mG5ILgK95e3njg8+NS6bPvGfZE/dMEcgu0DzgSuxMdFKIS4w9hDGAIjgRSASz/v/0g/fL9GgCiAuQEAwcUCWAKhgplCqYJKwhHBuoEiwPRAVsAAwBVAMgA2gGfA6AFMAdqCOgIUQjLBnEE2QAc/GH24vCf7H/oqOQZ4vfgD+KF5MzoWu4p9C/6+wBcBwEM6Q6PECURaBA/DkALywc0BBYBz/5W/bz8UP0t/50B0QP2BUgI3AmOCqYKWgpdCeoHoAZfBbcD6gEZAeQA8wBMATYCcgOKBIEFxAVEBdkD7QED/w37UfYy8nru0uqU51/lpuQq5aXnw+uN8H31Dfs+AakGSAp6DNYN7w2tDHwKsAdsBFIB8P6F/bf8r/wP/l8AtgLHBOMG/AgKCicKQwr6CcgIbgePBmIFxwOlAm4CYwIrApwC1QPlBIcF2QWfBZUE2QJ0AOn8nPhe9MHwHO2d6Qjn1OUK5qfnDOtB7wz0W/lW/7sExwiGC20NDA4pDUYLngiWBVQCmf/I/bn8W/w0/T3/egGAA6AF9QeUCf0JGApmCt4JtAitBwoH8gWhBBYEGQTMA4MDxgMdBBEEcQP+AswB2P+G/bb6h/dS9Hjxye5x7LrqPeq96pvsvO+L83n3xftnAJcErQe+CRoLNQteCo4IUgarA/QAxP5y/cz81vzF/Z3/vAHGA8gFzQf6CMAJNQptCv4JMgmdCPgHAAfgBUgFvQQtBKMDZQMSA64CHAJyAVQA3v5P/W77IvnW9qf0nPKw8CfvY+4n7s/unfAv8/j1C/l5/Lz/gQKUBOcFiAaMBhgGNQUJBKgCoQESAQYBSAHSAb8CEwRrBa0GyweqCEcJaAlXCQkJdAi0B/YGTQa8BS4FswQ9BLMDKAOyAlACrQHJAK//XP7N/BL7Q/mi9+L1FfSf8pfx7fDi8J/x7PKP9JL28/hd+5j9c//rAPsBqALrAtECXgLVAX4BawGeAQcCwwLiA0wFxAYsCFoJUgoAC2YLUAueCrQJwQi7B8UG1AXtBA8EbQPsAm4C1wFOAaUA5v/3/tb9hfwE+3X54/dZ9r70TfNb8t3x1fE38hbzgfRu9qH4yPq5/F3+9v9GASYCaAItAvABtwFrAR4B/QBdATICHANFBHgFtgb/BwoJvQn8CeAJeQnyCDEILQcuBksFiwTYA1MD2wJ4AiQC/QGqAS4BfACZ/2T+8/xb+775Jfhx9u70zvMf8w/zffN39Of1ofeF+V77B/1T/mb/LgCXAI8ATgD4/7L/ef+E/+T/ggBxAa4CJQSUBekG/QfhCGsJdwkrCZAInweVBpcFsQTfAyMDnAJJAjYCSQJ2ApACegJAAsAB/wDq/5f+G/2a+x36n/hm95/2JPYG9kz2//br9wr5OfpP+0n8Ov0G/pv+5v79/u/+0P7b/vv+N/+S/0cARAFKAlADWwR/BZIGUwfdByYIJQjoB3IHrwbFBfYETgSkA/ACZgIgAh0CLwJAAgoCkwEbAZQAvP+U/lb9Q/w3+yT6OfmP+Dr4OfiU+DD5zPmQ+pP7j/xU/fb9dv7Y/iv/P/8a/wT/Av8W/07/sf9DAOwArQGOAnUDVQQIBZcFBwYlBgoG0wWRBQkFSQSyA1ED4gKJAlsCPQIiAiECFgLGAUEBowD+/zv/Zv5v/Zb83PtB++36wPq6+uf6U/ve+2/8/fyY/Sv+l/7S/vD+//4I//3+8/7x/gf/Nf+T/wYAgAAZAbgBbQIcA7UDMAR8BKoEwgSqBGkEFgS5A2ADMQMbAxEDDwP6AukC1QKmAi8CjwHmAEwAsv82/9X+iv4w/gn+BP79/dr9w/3V/ez98P37/RD+KP5I/nT+vP7q/vb+H/9k/5H/j/+d/6n/zP8AAFEAmQDSADEBuwFgAvcCbgO4Aw0ERARgBE4EPQQHBNYDuQONAzUDuAJkAv4BlQEjAbcAEgB9/x//+/7Z/tP+3f7o/tT+z/7x/vH+zf6z/sr+wP66/rz+vf6t/qz+lf5+/mP+Tf40/hT+/f3r/eD97f00/oj+Af+y/5sAdwFNAisD+wN/BNAEDAUDBacEQQTKAyUDdQLXAU8B4wCjAJYAoACrAN8AGAFEAWQBhAGWAY8BjAGHAWcBOAHzAJsANADa/4T/MP/m/r/+p/6i/qr+rP6e/o7+fv5o/kj+N/40/j7+ZP6e/tf+Hv97/9v/NgCLANEAAgEpAUMBTQFCATsBQgFMAU4BPQEjAfUAtgB6AEUAFgAFABIALgBMAH0ApACxAK4AsgCgAIgAZgBAAAYA1v+w/43/aP9L/zT/Gv8G//b+2P6y/pX+ev5f/lT+Wv5j/nn+qf7g/hr/W/+y/wAASACGALYA0QDdANUAsgB2AEIADADK/4b/Xv9D/yv/Iv8r/zn/Sv9r/5L/tP/Q/+X/9f/w//X/6v/k/8L/pP97/17/RP8x/yf/FP8C//X+5/7c/tn+zP7C/sD+xP6//rr+0v7s/v7+Af8S/yH/Of9N/2P/af94/5L/q//C/9X/2//l//f/BQAgACIAGAAXACoAMAA1ADUAPgBMAEwARgA9AEEAPwA/ADYAKAATAA4ABwD+/+7/7P/T/8b/vf+9/77/s/+v/7H/qP+f/5n/jv96/3v/kP+M/2//U/9U/17/b/9z/2L/T/9o/3//kv+Z/5T/ov+p/7r/0f/P/9f/2//z//r/6f/9//r/7v/6/+3/AgDh/+j/3v/r//H/+f/o/+n/DgApAEcARwCTAM0ARAGmARECcQKuAhwDaQOsBK4D7gVpBW8KmQeN/psAy/7H+oz9EPsy/K72Evqv9XP1afnt+B38l/tg+lgBBADcABcI2we4A9MOJwO9AQUGVA2cABgJx/7KAj4CvQPaCIv91/05APUBUfmd/H7+t/xY+1H+jABk+/7/ZgO/AhEDyQayCDQDH/+i/9YGWgp5Bz8AGf+CBA==",
    • "exec_time": 0.38974,
    • "ip": "114.221.16.217"
    }
    <?php
    /**
     * API请求DEMO
     * 
     * 本demo支持常见的HTTP请求方法(GET/POST/PUT/DELETE等)
     */
    
     //基本配置
    $api_key = '你的接口密钥,登录控制台后在密钥管理页面申请';
    $secret_key = '';
    
    // API请求示例:
    try {
        $client = new ApiClient($api_key, $secret_key);
        $client->setTimeout(10);
        $client->setVerifySSL(false); // 关闭SSL验证
    
        // GET请求示例
        echo "=== 开始GET请求 ===\n";
        $response = $client->get('https://www.apimy.cn/api/tts/tts', [
            'key' => $api_key,
            'key2' => '其他参数'
        ]);
        print_r($response);
        //print_r($client->getLastRequestInfo());
        /* 
        // POST表单示例
        echo "\n=== 开始POST请求 ===\n";
        $response = $client->post('接口地址', [
            'key' => $api_key,
            'key2' => '其他参数'
        ]);
        print_r($response);
        print_r($client->getLastRequestInfo());
    
        // POST JSON示例
        echo "\n=== 开始POST JSON请求 ===\n";
        $response = $client->postJson('接口地址', [
            'key' => $api_key,
            'key2' => '其他参数'
        ]);
        print_r($response);
        print_r($client->getLastRequestInfo());
         */
    } catch (ApiClientException $e) {
        echo "API请求错误: " . $e->getMessage();
        if ($e->getCode() > 0) {
            echo " (HTTP状态码: " . $e->getCode() . ")";
        }
        print_r($client->getLastRequestInfo() ?? []);
    }
    
    /**
     * API客户端类
     * 
     * 提供了一个简单的HTTP API客户端实现,支持常见的HTTP请求方法(GET/POST/PUT/DELETE等)
     * 具有以下主要功能:
     * - 支持 API 密钥和签名认证
     * - 可配置请求超时和SSL验证
     * - 支持自定义请求头
     * - 支持表单和JSON格式的请求体
     * - 自动解析响应结果
     * - 提供详细的请求信息记录
     * 
     * 使用示例:
     * ```
     * $client = new ApiClient('https://api.example.com', 'api_key', 'secret_key');
     * $response = $client->get('/users', ['page' => 1]);
     * ```
     * 
     * @throws ApiClientException 当API请求失败时抛出异常
     */
    class ApiClient
    {
        private $apiKey;
        private $secretKey;
        private $timeout = 30;
        private $verifySSL = true;
        private $lastRequestInfo = [];
        private $defaultHeaders = [];
    
        /**
         * 构造函数
         * 
         * @param string $apiKey  API密钥(可选)
         * @param string $secretKey 签名密钥(可选)
         */
        public function __construct(string $apiKey = '', string $secretKey = '')
        {
            $this->apiKey = $apiKey;
            $this->secretKey = $secretKey;
        }
    
        /**
         * 设置请求超时时间(秒)
         */
        public function setTimeout(int $seconds): self
        {
            $this->timeout = $seconds;
            return $this;
        }
    
        /**
         * 设置是否验证SSL证书
         */
        public function setVerifySSL(bool $verify): self
        {
            $this->verifySSL = $verify;
            return $this;
        }
    
        /**
         * 添加默认请求头
         */
        public function addDefaultHeader(string $name, string $value): self
        {
            $this->defaultHeaders[$name] = $value;
            return $this;
        }
    
        /**
         * 发送GET请求
         * 
         * @param string $endpoint 接口端点
         * @param array  $query    查询参数
         * @param array  $headers  额外请求头
         */
        public function get(string $endpoint, array $query = [], array $headers = []): array
        {
            return $this->request('GET', $endpoint, [
                'query' => $query,
                'headers' => $headers
            ]);
        }
    
        /**
         * 发送POST请求(表单格式)
         * 
         * @param string $endpoint 接口端点
         * @param array  $data     POST数据
         * @param array  $headers  额外请求头
         */
        public function post(string $endpoint, array $data = [], array $headers = []): array
        {
            return $this->request('POST', $endpoint, [
                'form_data' => $data,
                'headers' => $headers
            ]);
        }
    
        /**
         * 发送POST请求(JSON格式)
         * 
         * @param string $endpoint 接口端点
         * @param array  $data     POST数据
         * @param array  $headers  额外请求头
         */
        public function postJson(string $endpoint, array $data = [], array $headers = []): array
        {
            return $this->request('POST', $endpoint, [
                'json' => $data,
                'headers' => array_merge(['Content-Type' => 'application/json'], $headers)
            ]);
        }
    
        /**
         * 发送PUT请求
         */
        public function put(string $endpoint, array $data = [], array $headers = []): array
        {
            return $this->request('PUT', $endpoint, [
                'json' => $data,
                'headers' => $headers
            ]);
        }
    
        /**
         * 发送DELETE请求
         */
        public function delete(string $endpoint, array $data = [], array $headers = []): array
        {
            return $this->request('DELETE', $endpoint, [
                'json' => $data,
                'headers' => $headers
            ]);
        }
    
        /**
         * 获取最后一次请求的详细信息
         */
        public function getLastRequestInfo(): array
        {
            return $this->lastRequestInfo;
        }
    
        /**
         * 基础请求方法
         */
        private function request(string $method, string $endpoint, array $options = []): array
        {
            // 初始化cURL
            $ch = curl_init();
            $url = ltrim($endpoint, '/');
    
            // 准备请求头
            $headers = $this->prepareHeaders($options['headers'] ?? []);
    
            // 处理查询参数
            if (!empty($options['query'])) {
                $url .= '?' . http_build_query($options['query']);
            }
    
            // 处理请求体
            $postData = null;
            if (isset($options['form_data'])) {
                $postData = http_build_query($options['form_data']);
                $headers[] = 'Content-Type: application/x-www-form-urlencoded';
            } elseif (isset($options['json'])) {
                $postData = json_encode($options['json']);
                $headers[] = 'Content-Type: application/json';
            }
    
            // 设置cURL选项
            curl_setopt_array($ch, [
                CURLOPT_URL => $url,
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_CUSTOMREQUEST => $method,
                CURLOPT_HTTPHEADER => $headers,
                CURLOPT_TIMEOUT => $this->timeout,
                CURLOPT_SSL_VERIFYPEER => $this->verifySSL,
                CURLOPT_SSL_VERIFYHOST => $this->verifySSL,
                CURLOPT_HEADER => true,
            ]);
    
            if ($method !== 'GET' && $postData !== null) {
                curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
            }
    
            // 执行请求
            $response = curl_exec($ch);
            $error = curl_error($ch);
            $info = $this->lastRequestInfo = curl_getinfo($ch);
            curl_close($ch);
    
            // 处理错误
            if ($error) {
                throw new ApiClientException("cURL请求失败: " . $error);
            }
    
            // 分离响应头和响应体
            $headerSize = $info['header_size'];
            $responseHeaders = substr($response, 0, $headerSize);
            $responseBody = substr($response, $headerSize);
    
            // 解析响应
            $result = json_decode($responseBody, true) ?? $responseBody;
    
            // 检查HTTP状态码
            if ($info['http_code'] >= 400) {
                $errorMsg = is_array($result) ? ($result['message'] ?? $responseBody) : $responseBody;
                throw new ApiClientException("API请求失败: " . $errorMsg, $info['http_code']);
            }
    
            return [
                'status' => $info['http_code'],
                'headers' => $this->parseHeaders($responseHeaders),
                'data' => $result
            ];
        }
    
        /**
         * 准备请求头(自动添加签名)
         */
        private function prepareHeaders(array $headers): array
        {
            // 合并默认头
            $headers = array_merge($this->defaultHeaders, $headers);
    
            // 添加签名头
            if ($this->apiKey && $this->secretKey) {
                $timestamp = time();
                $signString = "key={$this->apiKey}&timestamp={$timestamp}";
                $signature = hash_hmac('sha256', $signString, $this->secretKey);
    
                $headers['X-Api-Key'] = $this->apiKey;
                $headers['X-Api-Timestamp'] = $timestamp;
                $headers['X-Api-Sign'] = $signature;
            }
    
            // 转换为cURL格式
            $curlHeaders = [];
            foreach ($headers as $name => $value) {
                $curlHeaders[] = "$name: $value";
            }
    
            return $curlHeaders;
        }
    
        /**
         * 解析响应头
         */
        private function parseHeaders(string $headers): array
        {
            $parsed = [];
            foreach (explode("\r\n", $headers) as $i => $line) {
                if ($i === 0) {
                    $parsed['HTTP_CODE'] = $line;
                } else {
                    $parts = explode(': ', $line, 2);
                    if (count($parts) === 2) {
                        $parsed[$parts[0]] = $parts[1];
                    }
                }
            }
            return $parsed;
        }
    }
    
    class ApiClientException extends \Exception
    {
        // 自定义异常类
    }
    
    
    
    
    
    PHP
    //jQuery-Ajax
    $.ajax({
    	url: 'https://www.apimy.cn/api/tts/tts',
    	data: {
    	//接口参数,一行一个,可按照接口文档-请求参数 的参数填写,或者直接复制开发工具下面的测试代码。
    		key: '你的接口密钥,登录控制台后在密钥管理页面申请',
    		参数名: '参数值',
    
    	},
    	type: 'GET', //请求协议(GET或POST),一般默认GET,部分接口需要POST请求,根据实际情况修改为POST即可。
    	dataType: 'json',
    	success: function(data) {
    		console.log(data); //请求成功,输出结果到控制台
    	},
    	timeout: 3000, //超时时间
    	error: function(data) {
    		console.log('请求失败'); //失败处理
    	}
    });
    
    
    
    JavaScript
        
    子程序名 返回值类型 公开 备 注
    __启动窗口_创建完毕    
    ' 添加并使用《精易模块》
    Send_API ()
    子程序名 返回值类型 公开 备 注
    Send_API    
    变量名 类 型 静态 数组 备 注
    REQU_Data 文本型   提交字符串
    return 文本型   返回字符串
    API_URL 文本型   接口地址
    API_KEY 文本型   接口密钥
    API_URL = “https://www.apimy.cn/api/tts/tts”
    API_KEY = “你的接口密钥,登录控制台后在密钥管理页面申请”
    REQU_Data = "请求参数,根据接口文档的请求参数来拼接字符串(例a=a&b=b&c=c)"
    return = 编码_Utf8到Ansi (网页_访问 (API_URL + “?key=” + API_KEY + REQU_Data, , , , , “User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36”))
    输出调试文本 (return)
    import java.io.BufferedReader; 
    import java.io.InputStreamReader; 
    import java.net.HttpURLConnection; 
    import java.net.URL; 
     
    public class Test { 
        public static void main(String[] args) { 
            try { 
                URL url = new URL("https://www.apimy.cn/api/tts/tts?key=你的接口密钥,登录控制台后在密钥管理页面申请"); 
                HttpURLConnection connection = (HttpURLConnection)url.openConnection(); 
     
                // 设置请求方式
                connection.setRequestMethod("GET"); 
                connection.connect(); 
     
                // 获取响应码
                int responseCode = connection.getResponseCode(); 
                if (responseCode == HttpURLConnection.HTTP_OK) { 
                    BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); 
                    String line; 
                    while ((line = reader.readLine()) != null) { 
                        // 读取到的内容给line变量 
                        System.out.println(line); 
                    } 
                    reader.close(); 
                } 
            } catch (Exception e) { 
                e.printStackTrace(); 
            } 
        } 
    }
    
    
    Java
    package main
     
    import (
        "fmt"
        "io/ioutil"
        "net/http"
    )
     
    func main() {
        // 发起一个GET请求
        resp, err := http.Get("https://www.apimy.cn/api/tts/tts?key=你的接口密钥,登录控制台后在密钥管理页面申请")
        if err != nil {
            fmt.Println("http get error", err)
            return
        }
     
        // 读取响应结果
        result, err := ioutil.ReadAll(resp.Body)
        if err != nil {
            fmt.Println("http read error", err)
            return
        }
     
        // 关闭响应结果
        defer resp.Body.Close()
     
        fmt.Println(string(result))
    }
    
    
    JavaScript
    ```
    # 导入requests库
    import requests
     
    # 设置url
    url = 'https://www.apimy.cn/api/tts/tts?key=你的接口密钥,登录控制台后在密钥管理页面申请'
     
    # 发送post请求
    response = requests.post(url, data={'key1': 'value1', 'key2': 'value2'})
     
    # 获取响应内容
    result = response.json()
     
    # 打印结果
    print(result)
    ```
    
    Python
    // 以下是使用Node.js进行GET和POST请求API接口的示例代码:
    
    const https = require('https');
    const querystring = require('querystring');
    
    // 定义请求选项
    const options = {
      hostname: 'www.apimy.cn',
      path: '/api/tts/tts',
      method: 'GET'
    };
    
    // 发送GET请求
    https.get(options, res => {
      console.log(`statusCode: ${res.statusCode}`);
    
      res.on('data', d => {
        process.stdout.write(d);
      });
    }).on('error', error => {
      console.error(error);
    });
    
    // 发送POST请求
    const postData = querystring.stringify({
      'key1': 'value1',
      'key2': 'value2'
    });
    
    const postOptions = {
      hostname: 'www.apimy.cn',
      path: '/api/tts/tts',
      method: 'POST',
      headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': Buffer.byteLength(postData)
      }
    };
    
    const postReq = https.request(postOptions, res => {
      console.log(`statusCode: ${res.statusCode}`);
    
      res.on('data', d => {
        process.stdout.write(d);
      });
    });
    
    postReq.on('error', error => {
      console.error(error);
    });
    
    postReq.write(postData);
    postReq.end();
    /*
    这个示例代码使用Node.js内置的`https`模块进行HTTP请求。
    
    首先定义了一个GET请求的选项,然后使用`https.get()`方法发送了GET请求。在响应流上注册回调函数,以便在收到响应数据时将其输出到控制台。在出现错误时,也注册了错误处理程序。
    
    类似地,我们也定义了一个POST请求选项,并使用`https.request()`方法发送它。需要在请求头中包含适当的`Content-Type`和`Content-Length`以确保服务器可以正确解析请求体。请求体由`write()`方法写入,并在请求结束时通过调用`end()`方法通知请求对象已经完成。
    
    注意,此示例默认使用`querystring`模块将数据作为x-www-form-urlencoded格式进行编码。如果需要使用其他格式(如JSON),则需要相应地更改请求头和请求体的编码方式。
    
    另外,为了确保HTTPS请求的安全性,您也可以添加其他选项,例如验证服务器证书、设置代理等。
    */
    
    
    
    
    
    JavaScript
    以下是使用C语言进行GET和POST请求API接口的示例代码:
    
    ``` c
    #include 
    #include 
    #include 
    #include  // 需要安装curl库
    
    // API地址
    const char* url = "https://www.apimy.cn/api/tts/tts";
    
    // GET请求
    void getRequest(CURL* curl) {
        CURLcode res;
    
        // 设置URL
        curl_easy_setopt(curl, CURLOPT_URL, url);
    
        // 执行请求
        res = curl_easy_perform(curl);
    
        if(res != CURLE_OK) {
            fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
        }
    }
    
    // POST请求
    void postRequest(CURL* curl) {
        CURLcode res;
    
        // 设置URL
        curl_easy_setopt(curl, CURLOPT_URL, url);
    
        // 设置POST数据
        const char* postData = "key=你的接口密钥,登录控制台后在密钥管理页面申请&key1=value1";
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postData);
    
        // 执行请求
        res = curl_easy_perform(curl);
    
        if(res != CURLE_OK) {
            fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
        }
    }
    
    int main() {
        CURL* curl;
        CURLcode res;
    
        // 初始化curl
        curl = curl_easy_init();
    
        if(curl) {
            // 设置SSL验证
            curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);
    
            // GET请求
            getRequest(curl);
    
            // POST请求
            postRequest(curl);
    
            // 清理curl资源
            curl_easy_cleanup(curl);
        }
    
        return 0;
    }
    ```
    
    这个示例代码使用了libcurl库进行HTTP请求。
    
    首先,需要设置API地址。然后,基于`CURL`结构体创建curl句柄,并使用`curl_easy_setopt()`函数设置选项。这里设置了SSL验证,以确保请求的安全性。
    
    在GET请求中,只需将URL设置为选项,然后调用`curl_easy_perform()`函数执行请求即可。
    
    在POST请求中,还需要将POST数据作为字符串传递给`CURLOPT_POSTFIELDS`选项。
    
    需要注意的是,为了避免内存泄漏,应该在使用完curl句柄之后调用`curl_easy_cleanup()`函数进行清理。
    
    除了上述示例代码外,libcurl库还提供了更多高级选项,例如处理HTTP头、上传文件等。可以参考文档进行更详细的了解。
    
    
    
    C
    以下是一个使用C++请求API接口的示例代码:
    
    ```cpp
    #include 
    #include 
    
    int main() {
        CURL *curl;
        CURLcode res;
        std::string url = "https://www.apimy.cn/api/tts/tts?key=你的接口密钥,登录控制台后在密钥管理页面申请";
        std::string response;
    
        curl = curl_easy_init();
        if (curl) {
            curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
            curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
            curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, [](char *ptr, size_t size, size_t nmemb, void *userdata) -> size_t {
                std::string *response = reinterpret_cast(userdata);
                response->append(ptr, size * nmemb);
                return size * nmemb;
            });
            curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
    
            res = curl_easy_perform(curl);
            if (res == CURLE_OK) {
                std::cout << "Response: " << response << std::endl;
            } else {
                std::cerr << "Error: " << curl_easy_strerror(res) << std::endl;
            }
            curl_easy_cleanup(curl);
        }
    
        return 0;
    }
    ```
    
    解释:
    
    1. 引入需要的头文件:``用于输出结果,``用于使用libcurl库。
    
    2. 定义需要请求的API接口的URL和存储响应数据的字符串变量。
    
    3. 初始化一个CURL对象。
    
    4. 设置CURL对象的参数:请求的URL(`CURLOPT_URL`)、是否跟随重定向(`CURLOPT_FOLLOWLOCATION`)、响应数据的写入函数(`CURLOPT_WRITEFUNCTION`)和响应数据的写入位置(`CURLOPT_WRITEDATA`)。
    
    5. 发送HTTP请求并获取响应数据,判断返回状态码是否OK。
    
    6. 清理CURL对象。
    
    运行该程序会发送GET请求到指定的API接口URL,并在程序终止前将响应数据输出到终端。注意,在使用该示例代码之前需要安装libcurl库。
    
    
    
    C++
    以下是一个使用C#请求API接口的示例代码:
    
    ```csharp
    using System;
    using System.Net.Http;
    using System.Threading.Tasks;
    
    class Program {
        static async Task Main(string[] args) {
            HttpClient client = new HttpClient();
            string url = "https://www.apimy.cn/api/tts/tts?key=你的接口密钥,登录控制台后在密钥管理页面申请";
            HttpResponseMessage response = await client.GetAsync(url);
            if (response.IsSuccessStatusCode) {
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine("Response: " + responseBody);
            } else {
                Console.WriteLine("Error: " + response.StatusCode);
            }
        }
    }
    ```
    
    解释:
    
    1. 引用需要的命名空间:`System.Net.Http`用于使用HttpClient类,`System.Threading.Tasks`用于异步执行请求操作。
    
    2. 创建一个HttpClient对象。
    
    3. 定义需要请求的API接口的URL。
    
    4. 发送GET请求到指定的API接口URL,并获取响应结果。
    
    5. 判断响应状态是否成功,如果成功则读取响应数据(使用ReadAsStringAsync方法),否则输出错误信息(使用StatusCode属性)。
    
    运行该程序会发送GET请求到指定的API接口URL,并在程序终止前将响应数据输出到终端。注意,在使用该示例代码之前需要安装.NET Framework或.NET Core SDK。
    
    
    
    C++
    以下是VB请求API接口的示例代码:
    
    ```
    ' 1. 引入Microsoft XML v6.0库
    ' 2. 创建一个XMLHTTP对象
    Dim xhr As XMLHTTP
    Set xhr = New XMLHTTP
    
    ' 3. 设置请求的URL、方法,以及是否异步等
    xhr.Open "GET", "https://www.apimy.cn/api/tts/tts?key=你的接口密钥,登录控制台后在密钥管理页面申请", False
    
    ' 4. 发送请求
    xhr.send
    
    ' 5. 获取响应结果
    Dim responseText As String
    responseText = xhr.responseText
    
    ' 6. 输出响应结果
    Debug.Print responseText
    
    ' 7. 释放资源
    Set xhr = Nothing
    ```
    
    在这个示例中,我们创建了一个XMLHTTP对象,用于请求API接口。我们先调用`open`方法来设置请求的URL、方法,以及是否异步。然后,我们发送请求,并使用`responseText`属性来获取响应结果。最后,我们将响应结果打印到控制台,完成操作后释放资源,以防止内存泄漏。请注意,以上示例代码为同步请求,如果想使用异步请求,需要设置第三个参数为`True`,并在请求结束时处理`OnReadyStateChange`事件。
    
    VB.Net
    参数名 填写参数值
    评论0
    未登录

    登录 后发表评论

    仅需三步即可快速接入

    1
    在线调试

    填写业务相关参数免费在线调试

    2
    生成代码

    生成符合你的开发语言代码,复制即可

    3
    业务上线

    调整你后端部分逻辑代码即可上线使用

    数据驱动未来

    立即注册

    客服微信

    9:30 - 18:00

    请打开手机微信,扫一扫联系我们

    联系我们
    客服QQ
    799629269

    商务号,添加请说明来意

    在线咨询
    点击咨询

    工作时间:8:00-24:00

    返回顶部