signed

QiShunwang

“诚信为本、客户至上”

记录http-server启动脚本突然没用的原因和解决方案

2021/4/26 13:51:50   来源:

背景

        之前做了很多内网穿透的东西,上次明白内网穿透的原理后,想着用自己的服务器转发,于是利用frp来实现

内网穿透的原理:
        服务商的服务器有独立IP,给你开个端口,把你机器上的一个端口和服务器上端口建立个通道。别人就能通过服务器那个IP的某个端口访问到你机器上对应的那个端口。

        通过以下三个步骤实现的

  • linux(Ubuntu) Frp后台自动启动的方法
  • windows 下后台开机自启动 frpc
  • 让本地起的http-server 后台运行(没有小黑框),开机自启动

        但今天发现不能使用了,找了半天终于找到原因在哪儿了,

原因分析

        我访问本地的服务发现都没有页面,说明最后一步,本地起 http 服务是失败了的(我现在说起来容易,但一样一样排查的时候累死累活),为什么会失败呢?这儿有个小故事,因为我启动的文件夹是有中文的,http-server D:\学习资料 -p 8088

        当时就猜测是之前改 win10 的字符集导致的问题,这事儿也奇妙,当时是想让 vscode 能输出中文,所以就改了电脑字符集为 Unicode UTF-8 ,然后发现,我的动态桌面、math type、还有较为古老的一些软件直接没字了,所以不得已换了一种方法实现让 vscode 能输出中文 ,并把字符集改回来了,改回来以后就发现这事不对头了,原来的 http-serve 启动脚本没用了,

        win10的字符集是UTF-8的时候,肯定是可以的,不是UTF-8 那就没戏了,他不认识你这个中文呀,他用GB2312的方式去解码,发现,根本没这个文件夹,我怎么给你起 web 服务。

解决办法

        原因找到了,那问题就好解决了,你不是解码的时候认不出来吗,那我保存文件的时候把编码方式指定为 GB2312 不就好了(win10默认得是UTF-8 编码),打开我们的脚本,文件---------另存为----------最下面得编码改成 ANSI ------保存,就可以了

在这里插入图片描述
在这里插入图片描述
        ps:你另存为的时候别选择存在启动下,你没权限的,你选择另存在桌面,然后删掉原来的脚本,并把新的另存为的剪切进去就可以了

       

友情链接

        让自己电脑上的资源(网页、文件、视频、ppt等)被公网其他人访问到,看完这个是个人都会搭建

        vscode输出中文乱码解决方案