-
一、软件定位与核心功能Postman是全球领先的API开发与测试工具,支持REST、SOAP、GraphQL等协议调试,2025年最新版v11新增AI智能生成测试用例、多环境变量同步等功能。适用于以下场景:前后端分离开发中的接口联调自动化测试脚本编写接口文档自动生成团队协作共享API资源二、安装环境准备1. 系统要求组件最低配置推荐配置操作系统Windows 7Windows 10/11内存4GB8GB磁盘空间500MB1GB SSD2. 网络要求确保443端口开放(用于账户登录和云同步)企业用户需配置代理白名单(若存在网络限制)三、安装全流程详解步骤1:获取安装包访问Postman官网安装包下载页:https://pan.quark.cn/s/407a93c56583/,选择Windows版本步骤2:运行安装程序解压压缩包,打开Postman-win64.exe 文件,选择安装路径(建议修改为D盘):D:\DevTools\Postman_v12 步骤3:完成安装新版默认直接安装启动,不用再启动安装程序勾选Launch Postman选项,点击Finish启动程序四、首次运行配置1. 账户注册/登录点击左下角Sign In,选择注册方式(推荐使用GitHub账号快捷登录)2. 工作区设置选择工作区类型(个人使用建议选Personal)五、功能验证与基础使用测试1:发送GET请求点击**+**号新建请求标签页输入测试接口URL:https://jsonplaceholder.typicode.com/posts/1点击Send按钮查看响应结果测试2:环境变量管理点击右上角齿轮图标进入Environments创建名为"Dev"的环境,添加变量base_url = https://api.example.com在请求URL中使用{{base_url}}/users实现动态配置六、常见问题解答Q1:安装时提示"Unable to authenticate"?检查系统时间是否准确临时关闭杀毒软件防火墙使用命令postman --disable-gpu启动Q2:如何导入Swagger文档?通过Import > Link输入OpenAPI文档URL,自动生成接口集合Q3:请求超时如何调整?在Settings > General中修改Request timeout为30000ms七、延伸学习资源Postman官方学习中心:https://learning.postman.com/声明:本教程使用Postman官方v11版本制作,遵循EULA使用协议。原创内容转载请注明来源。
-
代码如下,一直无法连接上NASA的API是为什么呢import loggingfrom typing import Dict, Listfrom astroquery.jplhorizons import Horizonsfrom astropy.time import Timeimport astropy.units as uimport pandas as pdimport timeimport randomimport requestsfrom requests.adapters import HTTPAdapterfrom urllib3.util.retry import Retryfrom tqdm import tqdm # ============== 日志配置 ==============logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')logger = logging.getLogger(__name__) # ============== 代理池配置 ==============try: import socks # 检测 SOCKS5 支持 PROXY_POOL = [ {"host": "104.248.63.15", "port": 30588, "type": "http"}, {"host": "104.248.63.18", "port": 30588, "type": "http"}, {"host": "104.248.63.17", "port": 30588, "type": "http"}, {"host": "104.248.63.49", "port": 30588, "type": "http"}, {"host": "45.77.71.140", "port": 9050, "type": "socks5"} ]except ImportError: logger.warning("未检测到 SOCKS5 支持,已过滤 SOCKS 代理") PROXY_POOL = [ p for p in [ {"host": "104.248.63.15", "port": 30588, "type": "http"}, {"host": "104.248.63.18", "port": 30588, "type": "http"}, {"host": "104.248.63.17", "port": 30588, "type": "http"}, {"host": "104.248.63.49", "port": 30588, "type": "http"} ] if p["type"] != "socks5" ]class SmartProxyPool: """智能代理池(自动淘汰失效代理)""" def __init__(self, proxies: List[Dict]): self.proxies = [{ "url": self._format_url(p), "success": 0, "fail": 0, "score": 100.0 } for p in proxies] @staticmethod def _format_url(proxy: Dict) -> str: """生成代理URL""" if proxy["type"] == "socks5": return f'socks5://{proxy["host"]}:{proxy["port"]}' return f'http://{proxy["host"]}:{proxy["port"]}' def get_best_proxy(self) -> Dict: """选择最优代理""" self.proxies.sort(key=lambda x: x["score"], reverse=True) return { 'http': self.proxies[0]["url"], 'https': self.proxies[0]["url"] } def update_score(self, proxy_url: str, success: bool): """更新代理评分""" for p in self.proxies: if p["url"] == proxy_url: if success: p["success"] += 1 p["score"] = min(p["score"] * 1.1, 100.0) else: p["fail"] += 1 p["score"] *= 0.5 break proxy_pool = SmartProxyPool(PROXY_POOL) # ============== 网络会话 ==============def create_secure_session() -> requests.Session: """创建增强型网络会话""" session = requests.Session() session.proxies = proxy_pool.get_best_proxy() # 重试策略(指数退避 + 随机抖动) retry = Retry( total=5, backoff_factor=0.5 + random.random(), # 随机抖动 status_forcelist=[500, 502, 503, 504], allowed_methods=frozenset(['GET', 'POST']), respect_retry_after_header=True ) adapter = HTTPAdapter( max_retries=retry, pool_connections=50, pool_maxsize=100, pool_block=True ) session.mount('https://', adapter) session.mount('http://', adapter) def request_with_retry(method: str, url: str, **kwargs): """带代理切换的重试机制""" for _ in range(3): current_proxy = session.proxies try: resp = session.request( method=method, url=url, timeout=(20, 40), **kwargs ) resp.raise_for_status() proxy_pool.update_score(current_proxy['http'], True) return resp except (requests.ProxyError, requests.ConnectTimeout) as e: proxy_pool.update_score(current_proxy['http'], False) logger.warning(f"代理 {current_proxy} 失败: {str(e)}") session.proxies = proxy_pool.get_best_proxy() raise requests.ConnectionError("所有代理尝试失败") session.request = request_with_retry return session # 注入全局会话Horizons._session = create_secure_session() # ============== 天体数据 ==============SOLAR_SYSTEM_IDS = { "Sun": 10, "Mercury": 199, "Venus": 299, "Earth-Moon Bary": 3, "Mars": 499, "Jupiter": 599, "Saturn": 699, "Uranus": 799, "Neptune": 899, "Pluto": 999} # ============== 参数配置 ==============EPOCH = Time.now().utc # 使用 UTC 时间OBSERVER = '500@0'QUANTITIES = '1,9,15,19,20,23' # ============== 核心函数 ==============def get_solar_positions() -> pd.DataFrame: """获取所有天体的位置数据""" results = [] for name, obj_id in tqdm(SOLAR_SYSTEM_IDS.items(), desc="查询进度"): try: obj = Horizons( id=obj_id, location=OBSERVER, epochs=EPOCH.jd, id_type='id' ) eph = obj.ephemerides(quantities=QUANTITIES)[0] # 安全获取字段 results.append({ "Name": name, "RA (hms)": f"{eph.get('RA', 'N/A'):.3f}h", "DEC (dms)": f"{eph.get('DEC', 'N/A'):.3f}°", "Distance (au)": f"{eph.get('delta', 'N/A'):.5f}", "Apparent Mag": f"{eph.get('V', 'N/A'):.1f}", "Angular Size ('')": f"{eph.get('ang_width', 'N/A'):.2f}", "Sky Motion": f"{eph.get('RA_rate', 'N/A'):.2f}/{eph.get('DEC_rate', 'N/A'):.3f}''/min", "Light Time (min)": f"{(eph.get('lighttime', 0) * 1440):.1f}" if eph.get('lighttime') else 'N/A' }) except (requests.HTTPError, KeyError) as e: logger.error(f"数据错误 [{name}]: {str(e)}") results.append({"Name": name, "Error": "数据解析失败"}) except requests.RequestException as e: logger.error(f"网络错误 [{name}]: {str(e)}") results.append({"Name": name, "Error": "连接超时"}) except Exception as e: logger.error(f"未知错误 [{name}]: {str(e)}") results.append({"Name": name, "Error": "系统异常"}) return pd.DataFrame(results) # ============== 主程序 ==============if __name__ == "__main__": logger.info("正在获取数据,可能需要1-2分钟...") df = get_solar_positions() print(f"\n====== 太阳系天体坐标(UTC {EPOCH.iso})======") print(df.to_markdown(index=False)) df.to_csv('solar_system_positions.csv', index=False) logger.info("结果已保存至 solar_system_positions.csv")
-
在谷歌Chrome浏览器的“沉浸式翻译”插件中,想调用华为云的自然语言处理NLP的机器翻译API,需要填写“自定义API接口地址”、“模型”、“System Prompt”、“Prompt”、“Multiple Prompt”、“Subtitle Prompt”这几项,请问这几项应该填什么?
-
程序部分:控制台输出部分:详细data:
-
这边使用HCS API进行对接使用二级的VDC domain和二级的VDC用户和获取token时报 401;使用一级的VDC domain和二级的VDC用户可以获取到token;请问下使用二级VDC domain和二级VDC下用户是不是不支持认证? 请求地址:https://ip:port/v3/auth/tokens payload = {"auth": { "identity": { "methods": ["password"], "password": {"user": { "name": username, "password": password, "domain": {"name": domain} #mo_bss_admin }} }, "scope": {"domain": {"name": domain}} #mo_bss_admin }}
-
问题来源: 亿迅问题类别:IVR(gsl / vxml1.0 / vxml2.0 / vxml2.1)AICC解决方案版本: CTI版本:ICD V300R008C25期望解决时间:尽快需求:复合CELL进行三次菜单输入校验,错误时提示输入错误重新输入,三次挂机问题:1.第一次播放07100074.wav(自助服务请按1),还没等到超时时间就触发了超时事件首次输入超时设置了240秒2.超时之后播放99000001.wav(输入错误请重新输入)+重新播放 07100074.wav(自助服务请按1) 都失败了,Get MSG_SSP_SCP_PLAYRECORD_RES, but the result is NOT success! msg.result=0上图 07100074.wav可以播放3. 再播放99000001.wav(输入错误请重新输入)99000001.wav 前面一次放音失败了4.超过三次错误挂机
-
【问题来源】【必填】亿迅【问题简要】【必填】坐席发起挂起转IVR进行身份验证,验证方挂断,无法根据事件区分是IVR验密返回还是挂机【问题类别】【必填】CC-Gateway【AICC解决方案版本】【必填】AICC 24.100.0【期望解决时间】【选填】在线等【问题现象描述】【必填】1、电话呼入坐席11015接听2、11015发起一个挂起转身份验证IVR3、用户在身份验证IVR挂断4、坐席工作台无法根据事件区分是IVR结束返回坐席,还是用户在IVR中挂机
-
场景:API开发后,进行测试,界面一直转圈,无法使用
-
【问题来源】交通银行【问题简要】agentdemo【问题类别】【AICC】【AICC解决方案版本】【23.200】【问题现象描述】agentdemo支持输入6位工号【日志或错误截图】
-
【大赛简介】随着智能客服、服务机器人、出行导航、智能家居等应用的普及,语音合成技术也迎来了新的机遇。本赛道围绕华为云CodeArts API和IDE服务,并结合AI技术,可以快速创建语音合成应用,并实现按照文本要求输出专属场景音色音频。本赛题要求参赛选手根据指导文档,通过华为云CodeArts API和IDE服务完成语音合成应用开发,并生成音频。操作指导如下:【环节一】 通过CodeArts API设计语音合成接口1、 进入CodeArts API官网点击网页版体验并登录https://developer.huaweicloud.com/develop/codeartsapi.html2、创建项目登录后点击页面右上角的“创建项目”按钮在创建项目弹窗中输入项目名称:语音合成,并点击保存提示保存成功,点击API设计页签,进入到API设计页面3、设计接口点击接口搜索栏右侧“+”,选择 “新建API接口”。显示新建标签页输入接口的URL:/tts输入接口名称:语音合成下拉滚动条到请求体区域,单击“Body页面”,单击“raw”显示请求体的数据结构模板,默认根节点类型为“object”点击根节点最右侧的“+”操作页面上在根节点下新增一条参数(可以通过滚动条左右拖动)将参数名设置为text,描述设置为待合成的文本下拉页面,看到返回响应区域同样点击根节点最右侧的“+”操作(可以通过滚动条拖动到最右侧),在根节点下显示一条新的参数将参数名设置为result,将描述设置为合成结果点击右上角的保存按钮保存成功,设计完成【环节二】通过API Explorer调试语音合成接口,生成5段数据流登录API Explorer链接>>cid:link_2调整音频格式、采样率、男女声、语速、音色等参数,输入文字文本后,生成语音。如生成语音格式为wav,采样率:8000,标准女音,语速0,音色0生成语音格式为mp3,采样率:8000,标准女音,语速100,音色100【环节三】基于华为云自研CodeArts IDE,实现数据流转换为音频的功能1、打开CodeArts IDE ONLINE点击链接>>cid:link_4,免费体验云开发2、实现数据流转换为音频2.1 将实验用Demo工程上传到CodeArts IDE Online1)Demo工程下载链接>>cid:link_1打开CodeArts IDE Online后,左上角点击“文件”->“上传文件”:2)上传“CodeArtsProject.zip”,点击“终端”对工程进行解压3)左上角->文件->打开,打开解压后的工程目录2.2 在华为云控制台新增访问秘钥,配置AK/SK1)登录华为云控制台:https://console.huaweicloud.com/iam/?agencyId=599e2ee1492f48e9b69a0a682d435fb8®ion=cn-north-4&locale=zh-cn#/mine/accessKey,选择“我的凭证”->“访问秘钥”->新增访问秘钥,如果已经有AK/SK秘钥,不需要新增访问秘钥创建秘钥成功后点击“立即下载”,即可获得“credentials.csv”文件,里面可以查看到AK(Access Key Id)和SK(Secret Access Key)2)进入工程,src/main/resources下选择credentials.properties,讲AK/SK配置上2.3 将API Explorer上调试成功的流数据文件配置到APIResponse.json中在语音合成章节,我们在API Explorer完成接口的调试cid:link_2,最终生成“SIS_RunTts_ResponseBody_xxxxxxxxxxxxx.json”文件,打开json文件,复制响应体内容打开工程,进入src/main/resources中,选择APIResponse.json,将json文件的内容复制到APIResponse.json中。2.4 执行“should_return_audio_when_response_json”,生成mps格式音频文件找到test目录下的测试类SisServiceTest.java,点击找到方法“should_return_audio_when_response_json()”,点击Run Test,最后可以看到目录下生成的音频文件。目录下生成“devkit.mps”文件右击下载,可以获得转换后的音频文件,实验结束【提交要求】1、提交内容:(1)环节一、二、三均需要提交最终完成页面的截图;(2)环节三需要额外提交生成的音频文件;(3)截图需要包含华为云账号。2、提交方式::将提交内容打包成RAR/ZIP压缩包上传至大赛“提交作品”页>>Link。3、作品命名:以“姓名-联系方式”格式命名。4、提交次数:赛事期间,每人每天最多可提交2次,以最终提交的版本为准。
-
将一个包含中文的文件(格式已设置为UTF-8)存入桶,然后通过api的方式获取对象,内容解析时中文乱码。我把所有知道的编码格式都转了一遍都拿不到中文:1. ASCII (American Standard Code for Information Interchange)2. UTF-8 (Unicode Transformation Format-8)3. UTF-16 (Unicode Transformation Format-16)4. ISO-8859-1 (Latin-1)5. GB2312 (Chinese Simplified)6. GBK (Chinese Simplified)7. Big5 (Chinese Traditional)8. Shift JIS (Japanese)9. EUC-KR (Korean)10. UTF-32 (Unicode Transformation Format-32)
-
问题来源: 亿迅问题类别:IVR(gsl / vxml1.0 / vxml2.0 / vxml2.1)AICC解决方案版本: CTI版本:ICD V300R008C25期望解决时间:尽快需求:客户排队30秒需要播放语音 按1继续排队,留言请按2 目前实现方法:队列设置排队超时溢出IVR,播放语音按1重回队列 问题: 1,溢出到IVR的时候不算排队时间了,排队数也没了,排队数也不会再计算了,报表的排队时间和排队数就不准 2,溢出到IVR会重新开始排队,再很忙的时候会不会一直排不到他?
-
问题来源: 亿迅问题类别:IVR(gsl / vxml1.0 / vxml2.0 / vxml2.1)AICC解决方案版本: CTI版本:ICD V300R008C25问题简要: 在跟第三方机器人对接过程中使用呼叫建立CELL,传递user-to-user 数据请求被拒接,SIP 400 请求不被理解 不加user-to-user之后,可以正常转接到对方,请问是哪里的问题呢?
-
问题来源: 亿迅问题类别:IVR(gsl / vxml1.0 / vxml2.0 / vxml2.1)AICC解决方案版本: CTI版本:ICD V300R008C25问题简要: 1. IVR 调用请求路由CELL之后查询是否有空闲坐席,没有就播放排队音乐,有空闲坐席再调用转移呼叫CELL,但是在IVR播放排队音的时候CMS监控不到排队数,请问我在未调用转移呼叫CELL的时候算在排队吗?2 . 如果单纯调用请求请求路由CELL,未调用转移呼叫CELL不算排队,那么我排队溢出到IVR让用户输入继续排队请按1,排队位置会变吗?如何不改变客户的排队位置实现 继续排队请按1的逻辑呢?
上滑加载中
推荐直播
-
空中宣讲会 2025年华为软件精英挑战赛
2025/03/10 周一 18:00-19:00
宸睿 华为云存储技术专家、ACM-ICPC WorldFinal经验 晖哥
2025华为软挑赛空中宣讲会重磅来袭!完整赛程首曝+命题天团硬核拆题+三轮幸运抽奖赢参赛助力礼包,与全国优秀高校开发者同台竞技,直通顶尖赛事起跑线!
即将直播
热门标签