{"id":16980899,"url":"https://github.com/whitecosmos/gotcha-http-client","last_synced_at":"2025-04-12T02:10:52.546Z","repository":{"id":177877560,"uuid":"416624408","full_name":"WhiteCosmos/Gotcha-HTTP-Client","owner":"WhiteCosmos","description":"A Powerful Postman / Paw Alternative","archived":false,"fork":false,"pushed_at":"2023-04-03T11:37:00.000Z","size":7320,"stargazers_count":7,"open_issues_count":6,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T21:51:13.434Z","etag":null,"topics":["httpclient","macos","paw","postman","restful-api"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WhiteCosmos.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-13T06:59:37.000Z","updated_at":"2023-10-04T10:03:53.000Z","dependencies_parsed_at":"2023-07-10T19:16:16.849Z","dependency_job_id":null,"html_url":"https://github.com/WhiteCosmos/Gotcha-HTTP-Client","commit_stats":null,"previous_names":["whitecosmos/gotcha-http-client-support","whitecosmos/gotcha-http-client"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteCosmos%2FGotcha-HTTP-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteCosmos%2FGotcha-HTTP-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteCosmos%2FGotcha-HTTP-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhiteCosmos%2FGotcha-HTTP-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WhiteCosmos","download_url":"https://codeload.github.com/WhiteCosmos/Gotcha-HTTP-Client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505929,"owners_count":21115354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["httpclient","macos","paw","postman","restful-api"],"created_at":"2024-10-14T02:04:01.591Z","updated_at":"2025-04-12T02:10:52.519Z","avatar_url":"https://github.com/WhiteCosmos.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"images/logo.png\" width=\"120\" height=\"120\" /\u003e\n\u003c/p\u003e\n\n# Gotcha HTTP Client - MacOS独占的HTTP接口测试工具\n\nGotcha HTTP Client是一个用于发送HTTP请求和查看返回信息的测试工具，UI设计简约，交互方便易于上手。使用过程中无需联网，所有数据均存放在本地。\n\nGotcha HTTP Client is a lightweight http client that allows you to make requests and inspect responses. It has pretty UI/UX design, and very easy to use. Gotcha is a standalone software and can be used without NETWORK.\n\nGotcha HTTP Client并非开源软件，本仓库用于BUG跟踪和问题反馈。\n\nGotcha HTTP Client is not open source, you can report any bugs or features here.\n\n- [README_EN](README_EN.md)\n\n**[Follow My Twitter For Latest News!!!](https://twitter.com/whitecosm0s)** \n\n![img](images/preview.png)\n\n## 目录\n\n- [最新版本](#最新版本)\n- [下载地址](#下载地址)\n- [收费方式](#收费方式)\n- [技术支持](#技术支持)\n- [功能列表](#功能列表)\n- [使用指南](#使用指南)\n\n### 最新版本 1.6.3 (2023/4/1)\n\n【新功能】\n\n- 在项目配置中新增全局模板功能，支持配置新建请求时的默认参数\n- 专业版新增「请求模板」功能，可以保存某个请求为请求模板\n- 新增繁体中文支持\n\n【交互优化】\n\n- 优化弹窗关闭效果，通过「esc」键可以关闭所有弹窗\n- 优化功能分组，专业版功能单独分为一组(Schema管理/请求模板/批量导出)\n\n【URL编辑】\n\n- 修复新建请求并粘贴URL后，执行时URL自动变为httpbin.org的问题\n- 修复在某些情况上直接编辑URL并发起请求，URL被自动修改的问题\n- 修复Path参数存在动态变量时，修改URL后没有删除对应变量的问题\n- 修复在Path中使用某些动态变量时，侧边栏中对应的请求路径未正确显示的问题\n- 修复Query参数类型为数组时，无法正确导出的问题\n\n【服务器管理】\n\n- 在服务器选择中新增『服务管理』选项，直接打开服务器管理页面\n- 修复服务绑定到环境后，未正确解析的问题\n- 修复某些情况下选择服务器后，对应URL没有更新的问题\n\n【JSON 编辑器】\n\n- 增加复制按钮，可以一键复制整个Json\n- 右键菜单增加复制Json和复制Json Path选项，可以独立复制某个JSON节点\n- Json导入菜单新增『增量更新选项』\n\n【接口文档】\n\n- 支持通过Json直接生成并导入对应的Json Schema\n\n【Json Schema管理】\n\n- 修复某些情况下，展开和收起Schema无响应的问题\n- 创建Json Schema后，支持通过导入Json生成对应的字段\n\n【cURL导出】\n\n- cURL导出支持\"Binary\"和\"GraphQL\"的请求类型\n\n【Cookie管理】\n\n- Cookie值允许使用动态变量\n- Cookie管理面板中，支持拖动排序域名，或者改变域名所属的Cookie Jar\n- 优化Cookie展示，通过hover菜单展示不常用的属性\n- 修复向Cookie Jar中添加域名时，未正确添加的问题\n- 修复删除Cookie Jar后，对应请求中的Cookie没有同步更新的问题\n\n【环境变量管理】\n\n- 修复环境变量右键菜单有时无法正常显示的问题\n \n【Postman导出】\n\n- 支持导出和导入Postman的Example(当前仅支持text模式)\n- 修复某些情况下导出Postman时，item为空的问题\n\n【其它】\n\n- 修复选择Binary格式上传文件时，未正确读取文件的问题\n- 优化切换项目后，一些数据没有同步更新到新项目的问题\n- 点击『专业版』标签后，会显示当前专业版的所有功能\n\n### 下载地址\n\n[Mac App Store](https://apps.apple.com/cn/app/gotcha-http-client/id1524200727)\n\n### 收费方式\n\nGotcha Rest Client 基础功能免费使用，高级功能需要购买专业版\n\n- 专业版提供**28天**免费试用\n- **98元**购买永久版本\n\n### 技术支持\n\n遇到问题请提交ISSUE，或加入以下群聊与我沟通。\n \n- 技术支持邮箱 \n\n**support@gotcha.rest**\n\n- QQ交流群\n\n![img](images/qq_group.jpg)\n\n### 功能列表\n\n以下为Gotcha HTTP Client支持的功能清单，未完成的功能会标注为**开发中**\n\n 1. Url编辑\n \n - 支持复制curl到Url编辑栏，直接导入curl\n - 支持编辑Path和Query参数\n - 支持添加自定义HTTP请求方法\n \n 2. 支持的请求体类型\n \n - Text 模式，支持多种语法高亮\n - JSON 模式，支持通过剪切板和文件导入JSON\n - Form 表单上传(form-urlencoded)\n - Multipart 文件上传\n - Binary格式**(开发中)**\n - GraphQL 请求\n\n 3. Header 和 Cookie\n \n - 支持常用Header类型自动提示\n - 支持添加和删除自定义Cookie\n - 支持自动接收和发送Cookie\n - 多CookieJar切换和管理\n \n 4. 接口认证\n \n - 支持 HTTP Basic Auth\n - OAuth 2.0 **(开发中)**\n - Digest Auth **(开发中)**\n \n 5. 导入和导出\n \n - 支持导入Postman Collection文件\n - 支持通过文件或URL导入Swagger/OpenAPI文件，替代SwaggerUI\n - 支持通过Java项目直接生成API文档，支持Spring/SpringFox/JAX-RS框架\n - 支持导出单个请求到curl\n - 支持填写参数注释，并导出请求为Markdown格式的接口文档\n \n 6. 环境变量\n \n - 支持环境变量和环境变量分组\n - 支持全局变量\n \n 7. 为请求参数添加注释\n \n - 支持为请求参数添加注释\n - 支持保存返回响应作为文档示例\n - 支持导出Markdown格式的接口文档\n \n 8. 返回响应断言和校验\n \n - 支持对响应Headers设置断言\n - 支持对Json格式的响应体设置断言\n \n### 使用指南\n\n#### 创建项目\n\n\u003e Gotcha启动后会生成一个默认项目\"Playground\"，你可以在该项目中测试各项功能。\n\n![img](images/tutorial/create_project.png)\n\n1. 点击打开项目创建和导入面板\n2. 新建空白项目，你可以在项目中自由创建或导入HTTP请求\n3. 导入OpenAPI/Swagger文件，查看接口文档，目前不可编辑\n4. 通过URL方式导入OpenAPI/Swagger文件\n5. 通过Java项目生成接口文档，支持Spring/JAX-RS框架，目前不可编辑\n\n#### 接口与分组管理\n\n\u003e Gotcha中的分组和请求之间可以随意排列和嵌套\n\n![img](images/tutorial/request_and_group_manager.png)\n\n1. 在根目录创建请求或分组，也可以导入Postman Collection文件\n2. 使用右键菜单\n\t- 在请求上点击'New Request'或'New Group'，会创建在相邻位置\n\t- 在分组上点击'New Request'或'New Group'，如果分组为**展开状态**，则会作为子项目创建，如果分组为**收起状态**，则会在相邻位置创建。\n\t- 剪切与复制也遵循上述规则\n3. 拖动改变接口与分组的排列方式或层级结构\n\t- 使用**Command**快捷键多选，**Shift**快捷键可以连选，支持批量拖动\n\t- 当分组为**收起状态**时，拖动位置会区分为**里侧**和**外侧**，里侧会放置对象到目标分组内部，外侧则放置在相邻位置\n\t\n#### 编辑URL参数\n\n\u003e Gotcha通过参数化URL的模式可以让你直接编辑其中的每一部分\n\n![img](images/tutorial/url_parameters_editor.png)\n\n1. HTTP请求方法选择，点击菜单中的'+'按钮可以编辑自定义请求方法\n2. URL编辑栏，支持直接导入**cURL**，过去使用过的URL会出现自动提示\n3. Path编辑器，支持编辑任意一段Path参数\n4. Query参数编辑\n5. 对于参数较长的情况，可以打开一个独立的编辑页面\n\n#### 编辑Header和Cookie\n\n\u003e Gotcha中可以直观的看到当前会发送的Cookie信息\n\n![img](images/tutorial/headers_and_cookies_editor.png)\n\n1. Header的编辑和URL参数是一样，也会提示常用的Header\n2. Cookie编辑器会显示当前域名下存在的Cookie，也可以手动添加\n3. 通过右上角的Cookie Jar管理页面，可以添加多个Cookie Jar，用于模拟多用户的情况\n\n#### 编辑Body请求体\n\n\u003e Gotcha支持几种常见的Body类型，并提供了一个独立的JSON编辑器\n\nPS: 切换Body类型后，对应的Content-Type也会自动修改。\n\n##### Text\n\n![img](images/tutorial/text_request_body.png)\n\n1. 右下角可以选择文本模式，同时Content-Type也会对应变化，如果要改为其它类型，需要到Header页面手动修改\n\n##### Json\n\n使用Json编辑器的优势\n\n- 无需处理格式和符号问题，例如忘记删除逗号\n- 支持选择性发送某些值\n- 支持拖动改变节点排列顺序和层级结构，交互模式与**接口管理**一致\n\n![img](images/tutorial/json_request_body.png)\n\n1. 全部展开或全部收起节点\n2. 预览JSON文本(只读模式)\n3. 通过剪切板或文件导入Json\n4. 选择节点类型 \n\n##### Form\n\n![img](images/tutorial/form_request_body.png)\n\n##### Multipart\n\n![img](images/tutorial/multipart_request_body.png)\n\n1. 支持选择文本类型或文件类型\n\n##### GraphQL类型\n\n![img](images/tutorial/graphql_request_body.png)\n\n#### 参数注释\n\n\u003e Gotcha支持保存响应数据并作为示例导出\n\n```\n注意事项:\n\n在Headers、Url Params、Body中填写的参数，会自动出现在Docs页面中，暂时无法直接修改\n```\n\n##### Header和Query参数\n\n![img](images/tutorial/doc_header_params.png)\n\n1. 参数名称\n2. 是否必需填写\n3. 参数注释\n\n##### Path参数\n\n![img](images/tutorial/doc_path_params.png)\n\n1. 勾选Param选项后，可以指定某一段Path为参数，并且Index变为**可以编辑**的状态，填写参数名称\n2. 指定Path参数后，上方的Path也会变为{{name}}的形式\n\n##### 请求数据示例\n\n![img](images/tutorial/doc_payload.png)\n\n1. Text和Json会导出为请求示例\n2. Form和Multipart类型可以填写注释\n3. 在返回响应中保存为响应示例\n\n##### 导出为Markdown格式的接口文档\n\n![img](images/tutorial/doc_copy_as_markdown.png)\n\n1. 点击'Copy as Markdown'即可\n\n#### 使用环境变量与全局变量\n\n\u003e Gotcha通过表单的方式统一管理所有环境中的所有变量\n\n![img](images/tutorial/environment_variables_manager.png)\n\n1. 点击打开菜单，创建变量和新环境\n2. 双击修改环境名称，拖动改变环境顺序，右键菜单删除环境\n3. 在参数值中使用{{变量名}}即可引用环境变量\n\n#### 使用Cookie Jar\n\n\u003e TODO\n\n#### HTTP请求选项设置\n\n\u003e TODO \n\n#### 为返回响应设置断言\n\n\u003e TODO\n\n#### 访问历史请求记录\n\n\u003e TODO\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitecosmos%2Fgotcha-http-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhitecosmos%2Fgotcha-http-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitecosmos%2Fgotcha-http-client/lists"}