解决 tunneling socket could not be established, cause=getaddrinfo ENOTFOUND 8000 问题
翻了一下 PicGo-Core 的 Github 发现作者目前还没有把内置的 smms api 升级到 v2, 但是有其他开发者通过第三方插件的方式解决了这个问题, 所以我们需要安装这个 v2 版本的 smms-user 插件.因为 PicGo-Core 默认的 smms 使用的是 v1 的 api, 而目前 smms 已经停用了该版本 API, 所以导致 PicGo-Core 在默认配置下, s
错误
在使用 Picgo 以及在 Typora 中使用 Picgo-core 的时候,我正确配置所有参数。但是还是会报错 RequestError: Error: tunneling socket could not be established, cause=getaddrinfo ENOTFOUND 8000
。
更详细的报错日志为:
1 2 3 4 5 6 7 8 9 10 11 12 13 | ------Error Stack Begin------ RequestError: Error: tunneling socket could not be established, cause=getaddrinfo ENOTFOUND 8000 at new RequestError (D:\20200213\Reading_writing\PicGo\resources\app.asar\node_modules\request-promise-core\lib\errors.js:14:15) at Request.plumbing.callback (D:\20200213\Reading_writing\PicGo\resources\app.asar\node_modules\request-promise-core\lib\plumbing.js:87:29) at Request.RP$callback [as _callback] (D:\20200213\Reading_writing\PicGo\resources\app.asar\node_modules\request-promise-core\lib\plumbing.js:46:31) at self.callback (D:\20200213\Reading_writing\PicGo\resources\app.asar\node_modules\request\request.js:185:22) at Request.emit (events.js:200:13) at Request.onRequestError (D:\20200213\Reading_writing\PicGo\resources\app.asar\node_modules\request\request.js:881:8) at ClientRequest.emit (events.js:200:13) at ClientRequest.onError (D:\20200213\Reading_writing\PicGo\resources\app.asar\node_modules\tunnel-agent\index.js:179:21) at Object.onceWrapper (events.js:288:20) at ClientRequest.emit (events.js:200:13) -------Error Stack End------- |
解决方案
在网上一番搜索,有以下解决方案
方案一
系统关闭代理,不要使用代理上网。
方案一对我无效。
方案二
npm 代理的问题
在终端输入以下命令行尝试取消 npm 的代理
1 2 | npm config delete proxy npm config delete https-proxy |
我有一次这样做后正常了一会,但是过一会又继续报错。
直到我 Google 到了国外小哥的一篇博文,拯救了我,请看方案三。
方案三
国外小哥的博文这样写道
最终的原因是我以前在环境变量中设置过代理,我的环境变量中有以下两项。
在环境变量里面把 http_proxy
和 https_proxy
两项删除即可。在 Typora 中测试图片上传也就正常了。
美滋滋,终于一切正常~ 😁
临时给 cmd 设置代理
以后如果需要临时给 cmd 设置代理可以使用以下 命令行,这种环境变量只会持续到cmd窗口关闭,不是系统环境变量。
1 2 | set http_proxy=http://127.0.0.1:1080 set https_proxy=http://127.0.0.1:1080 |
Typora + PicGo-Core + SM.MS
关于 Typora + PicGo-Core + SM.MS 图床 的使用转载自博客 LzSkyline’s Blog
1. 安装PicGo-Core
因为Typora已经原生支持PicGo-Core, 所以只需要在软件内下载一下就可以了(PS: 下面这张图就是用的自动上传, 很方便)
首先点击上面红色1的位置, 选择PicGo-Core, 再点3(不要问我2去哪儿了….就当他不存在), 并等待下载完成.
2. 安装 smms v2 API 插件
这里是个大坑.
因为 PicGo-Core 默认的 smms 使用的是 v1 的 api, 而目前 smms 已经停用了该版本 API, 所以导致 PicGo-Core 在默认配置下, smms 图床完全不可用
翻了一下 PicGo-Core 的 Github 发现作者目前还没有把内置的 smms api 升级到 v2, 但是有其他开发者通过第三方插件的方式解决了这个问题, 所以我们需要安装这个 v2 版本的 smms-user 插件.
直接点击红色5的位置, 根据文本内容找到 PicGo-Core 的程序目录
注意, 因为默认的 smms api 已经不可用, 这里肯定会上传失败, 不用管
找到目录后我们在 picgo 的目录下启动命令行, 执行如下命令, 并等待安装成功
1 | .\picgo.exe install smms-user |
3. 配置 PicGo-Core
安装完成之后点击红色4的位置(红标顺序不代表点击顺序), 打开 PicGo-Core 的配置文件, 按照下面的格式无脑全选替换就行
1 2 3 4 5 6 7 8 9 10 11 12 13 | { "picBed": { "current": "smms-user", "uploader": "smms-user", "smms-user": { "Authorization": "这里替换成你自己的" }, "transformer": "path" }, "picgoPlugins": { "picgo-plugin-smms-user": true } } |
没有Authorization的自己去这里申请一个: User Login - SM.MS - Simple Free Image Hosting
申请前需要注册一个账号, 这个没啥难度, 就不细说了.
4. 体验效果
保存配置之后再点红标5的位置应该就可以正常上传图片了, 我们直接在Typora内粘贴一张图片, 就会有相应的提示。也可以在图片中右击上传。
Typora + PicGo-Core + gitee
更改上面的配置文件为下面的形式,记得更改成你自己的图片想要存放的文件夹名,以及你的用户名、仓库名、token 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | { "picBed": { "current": "gitee", "list": [ { "name": "gitee", "type": "gitee", "visible": false } ], "gitee": { "branch": "master", "customPath": "", "customUrl": "", "path": "文件夹名称", "repo": "用户名/仓库名", "token": "这里是你的token" } }, "picgoPlugins": { "picgo-plugin-gitee-uploader": true } } |
在 picgo 的目录下 执行如下命令, 并等待安装成功 。(我的目录是 C:\Users\用户名\AppData\Roaming\Typora\picgo\win64)
1 | .\picgo.exe install gitee-uploader |
然后就可以上传至 gitee 了 ,需要注意的是 图片不要大于 1 MB ,因为 gitee 会有限制。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)