分类 免费资源 下的文章

前言

俗话说,好记性不如烂笔头,要想成为一名好的程序员,时刻记录自己遇到的问题和解决方案才能让自己不断成长,所以为了成为一名优秀的程序员,我习惯用Markdown这种语法来记录自己的所见所得。下面就简单介绍一下Markdown

Markdown

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式,它的格式简单易学,可以轻易排版出一篇好的笔记。

问题的抛出

在笔记中我经常加入一些配图,用来理解一些概念很有帮助,此时问题便出现了:

  1. 图片存放在哪里?
  2. 图片的时效性问题怎么保证?
  3. 图片的加载速度如何保证?

因为在Markdown笔记中引用图片是用url来进行引用的,每次所引用的图片大多数来自于互联网,源图地址大多数都有防盗链,无法永久的引用到笔记当中,时间不长,就会出现以下情景:

为了避免这种尴尬的情况,又想获得很快的加载速度,之前有一个很好地解决方案,那就是新浪图床,之前新浪大大免费给予图片的外链和永久无限空间的图床,真是优惠了一波又一波的人,可是总有那么些垃圾人去滥用,导致在去年3月份,新浪大大彻底关闭了公众免费图床,导致许多博客博主图片变成404,也包括我,我的博客当时全部把图重新换了一遍,费了老大劲,将图片转移到了自己的云服务器上,但是这样解决问题不代表长久解决问题:

  1. 云服务器空间有限,譬如阿里云、腾讯云学生机,40G内存,但是只能续费3年
  2. 国外云服务器譬如搬瓦工,20G内存,小的可怜,而且高峰时间点必炸,无法保证速度(手动狗头,懂的自然懂)

如果拥有自己的图床(无限空间、访问速度快、安全)该多好?

之前这样的想法简直就是在想pitch,哪有地方让你这么白嫖?

但是现在呢,我发现了一个一站式个人图床解决方案,那就是Github(无限空间)+jsDelivr(免费CDN加持)+PicGo(调用Github API),这样完美解决了当前的燃眉之急。

Github

Github作为每个程序员基本功,在这里我就不多作赘述,自从Github被微软收购之后,公众很是担心微软会把Github原有的精神给污染掉,但这样的担心却是多余的,微软接手Github之后宣布个人仓库永久无限免费空间,白嫖党们瞬间沸腾了~~(手动狗头)

jsDelivr

jsDelivr是一家打通国内与国外的cdn供应商,它向公众开放了免费的Github CDN加持,只需要将自己文件的外链前缀改成他们的服务器即可。

PicGo

之前想着自己用代码实现Github API的上传功能,但我还是想多了,逛了一圈Github果然有先辈将功能完整实现并开发出了一整套产品,那就是PicGo,一键式图床管理,项目地址:https://github.com/Molunerfinn/PicGo,这款软件可以实现下列图床的管理,并且支持网络代理、支持开启本地api server等等一系列强大的功能,有兴趣的小伙伴可以自行去项目页面进行研究,这里不多作赘述。

搭建流程

创建Github仓库

前往Github主页,登陆账户,点击新建仓库按钮:

在新建仓库页面,选择公有库public,如果选成私有库你的图片是显示不出来的,输入完库的名称和描述之后点击创建,这里请记录一下你的owner和你的Respository name,后面要用到:

新建Github token

点击Github页面右上角你的头像,选择settings

进入settings页面,选择Developer settings

进入Developer settings,选择Personal access token

然后输入Note,Note是用来标记这个token是干嘛用的,可以自己定义,再勾选token所具有的权限,就勾选图上的就可以

之后你就会获得一串token,记住:token只显示一次,显示了请务必保存下来

配置PicGo

https://github.com/Molunerfinn/PicGo/releases页面下载最新版本的PicGo,安装到自己电脑上,然后打开:

选择Github图床,按照图里面的配置:

仓库名就是你上面在创建Github仓库时候的用户名/仓库名

分支名填master

Token填你刚才生成的token

存储路径如果没有其他需求的话可以按照我图的填

自定义域名需要填https://cdn.jsdelivr.net/gh/用户名/仓库名

享用

本篇文章所有图片均是由GitHub+jsDelivr+PicGo一站式完成上传加载,祝各位读者老爷能够成功搭建起自己的个人图床!欢迎关注我的个人微信公众号,二维码见下方,我们下期再见!

最近突然想起来看一看高中时期未看完的小说,心血来潮就去网上找了找资源,发现不论下载下来的txt文件还是专门用来看小说的app不是有广告,就是缺少章节,观看体验十分不爽,为了解决这个问题,自己动手,丰衣足食,于是这个采集脚本应运而生

技术要点:

  • BeautifulSoup4:解析标签
  • Requests:模拟http请求
  • Python3

脚本使用步骤:

  • 安装BeautifulSoup4
pip3 install beautifulsoup4 
  • 安装requests
pip3 install requests
  • 保存以下代码为book.py
import re                                                                             import sys
import requests
import time
from bs4 import BeautifulSoup
from requests.packages.urllib3.exceptions import InsecureRequestWarning 
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

class BookSpider():
    '''爬取顶点小说网小说'''
    def __init__(self):
               
       self.headers = { 
            'Host':'www.dingdiann.com',
            'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36',
        }
       self.chapter_url_list = list()
       self.chapter_name_list = list()
       self.book_info = dict()

    def get_book_url(self, book_name, author_name):
        '''获取要爬取书籍的详情页'''
        url = 'https://www.dingdiann.com/searchbook.php'
        data = {
            'keyword':book_name
        }
        result = requests.get(url, headers=self.headers, params=data, verify=False).text
        soup = BeautifulSoup(result, 'lxml')
        book_name_list = soup.find_all(name='span', attrs={'class':'s2'})
        book_author_list = soup.find_all(name='span', attrs={'class':'s4'})
        book_name_list.pop(0)
        book_author_list.pop(0)
        for candidate_name in book_name_list:
            book_info_list = list()
            name = str(candidate_name.a.string)
            book_url = str(candidate_name.a.get('href'))
            book_info_tuple = (name, book_url)
            book_info_list.append(book_info_tuple)
            author = str(book_author_list[0].string)
            if author in self.book_info.keys():
                self.book_info[author].append(book_info_tuple)
                book_author_list.pop(0)
            else:
                self.book_info[author] = book_info_list
                book_author_list.pop(0)
        if self.book_info[author_name]:
            for info in self.book_info[author_name]:
                if info[0] == book_name:
                    url = info[1]
                    print('书籍已经找到,您要找的书籍为 ' + book_name + ':' + author_name)   
                    print('3S 后将开始下载~~~')
                    time.sleep(3)
                    return url
        else:
            print('抱歉,书籍未找到,请确认书籍作者及名称是否正确~~~')

    def get_book_info(self, url):
        '''获取书籍的章节列表和地址'''
        all_url = 'https://www.dingdiann.com' + url
        result = requests.get(all_url, headers=self.headers, verify=False).text
        soup = BeautifulSoup(result, 'lxml')
        div = soup.find_all(id='list')[0]
        chapter_list = div.dl.contents

        for text in chapter_list :
            text = str(text)
            content = re.findall('<a href="' + url + '(.*?)" style="">(.*?)</a>.*?', text)
            if content:
                chapter_url = all_url + content[0][0]
                chapter_name = content[0][1]
                self.chapter_url_list.append(chapter_url)
                self.chapter_name_list.append(chapter_name)

        for i in range(12):
            self.chapter_url_list.pop(0)
            self.chapter_name_list.pop(0)
    
    def get_chapter_content(self, name, url):
        '''获取小说每章内容'''        
        try:
            result = requests.get(url, headers=self.headers, verify=False).text
        except:
            print(name + "下载失败~~~")
            return False
        else:
            soup = BeautifulSoup(result, 'lxml')
            div = soup.find_all(id='content')[0]
            div = str(div)
            result = re.findall('<div id="content">(.*?)<script>', div, re.S)[0].strip()
            result = re.sub('<br/>', '\n', result)
            return result
    
    def save_book(self, book_name):
        '''保存小说'''
        for chapter_name in self.chapter_name_list:
            while True:
                chapter_content = self.get_chapter_content(chapter_name, self.chapter_url_list[0])
                if chapter_content:
                    with open(book_name + ".txt", 'a') as f:
                        f.write(chapter_name)
                        f.write("\n")
                        f.write(chapter_content)
                        f.write("\n")
                    self.chapter_url_list.pop(0)
                    print(chapter_name + "已经下载完成")
                    break

    def run(self, book_name, url):
        self.get_book_info(url)
        self.save_book(book_name)

def main(book_name, author_name):
    book = BookSpider()
    url = book.get_book_url(book_name, author_name)
    book.run(book_name, url)

if __name__ == "__main__":
    main(sys.argv[1], sys.argv[2])
  • 使用说明:脚本需要输入两个参数,参数1为小说名称,参数2为作者名称,之后便会将采集到的内容保存在本地,例如:
python3 book.py 天珠变 唐家三少

享用

免责声明

  • 本脚本采集的小说数据来自顶点小说网,只提供数据采集服务,不提供任何贩卖服务
  • 数据采集自https://www.dingdiann.com/,感谢网站管理员的慷慨支持,爬了很多次也没有ban我的ip,希望大家多多支持正版

这是一个自动化部署MTProxy服务的脚本,俗称电报代理服务,玩电报的人应该都希望在不适用vpn的情况下能够收发消息,而这个脚本就能解决你的需求

功能

功能只有一个,就是搭建代理,并在最后显示你的专属代理连接,在脚本中并没有写自动开启服务器端口的操作,这个你需要自己开放自己想要设置的端口

使用方法

使用root用户登陆你可爱的国外小鸡,输入以下的命令,每一行是一条命令:

yum install wget -y
wget https://raw.githubusercontent.com/TyrantJoy/One-click-shell_script/master/MTProxy/MTProxy.sh
chmod +x MTProxy.sh
./MTProxy.sh

之后根据提示一步一步进行操作即可。

Tips

EmailTyrantLucifer@linuxstudy.cn

我的微信公众号,欢迎各位的关注,有问题请在后台留言,或者加qq群764374820

我的微信公众号

1.什么是Telegram

Telegram是款跨平台实时通信软件,客户端开源但服务器专有。服务器本身已加密外,可选额外用户对用户加密。支持传送所有文件类型,更支持语音通话。

2.Telegram的优点

作为一款优秀的即时通讯工具,它具有优秀的保密性,众所周知,x信现在各种收集用户隐私,而且用户也不能随心所欲的去聊自己想聊的东西,有很多的限制,但是在Telegram上却没有,正是因为它的隐蔽性、自由性和开放性,所以被一些国家封杀,只能扶墙出去才能使用这个软件,但是当时开发人员就已经想到了会有今天的封闭性,所以提前有了一款专门属于它的代理----MTProxy

3.什么是MTProxy

MTProxy是一款专门属于Telegram的代理服务,用户只需要在自己国外服务器上搭建这个服务,就可以不扶墙而去使用Telegram

  • 项目地址:https://github.com/TelegramMessenger/MTProxy

4.搭建MTProxy

  • 从github上拉取源码
git clone https://github.com/TelegramMessenger/MTProxy
  • 进入项目文件夹
cd MTProxy
  • 编译
make && cd objs/bin
  • 获取当前目录,并将这个目录记录下来
pwd
  • 获取与Telegram服务器的连接
curl -s https://core.telegram.org/getProxySecret -o proxy-secret
  • 获取配置文件
curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
  • 获取秘钥,记录下来
head -c 16 /dev/urandom | xxd -ps
  • 新建服务
vim /etc/systemd/system/MTProxy.service
  • 编辑服务文件,将以下内容保存到文件中,有以下注意事项:
  • 下面的目录是你上面获取的目录
  • 下面的端口号是你自己想要设置的端口,前提这个端口需要开放
  • 下面的秘钥是你上面获取的秘钥
[Unit]
Description=MTProxy
After=network.target

[Service]
Type=simple
WorkingDirectory=目录
ExecStart=目录/mtproto-proxy -u nobody -p 8888 -H 端口号 -S 秘钥 --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=on-failure

[Install]
WantedBy=multi-user.target

5.使用MTProxy

  • 启动服务
systemctl start MTProxy  # 启动服务
systemctl enable MTProxy # 将服务添加到开机启动项中
  • 使用,下面就是专门属于你自己的Telegram代理连接,赶快去试试吧

SERVER_NAME:你服务器的ip

PORT:你设置的端口

SECRET:你上面获取的秘钥

tg://proxy?server=SERVER_NAME&port=PORT&secret=SECRET

6.Tips

哪天心情好了可能会写一个自动脚本,今天就先这样,下面是我的联系方式,如果在使用过程中出现了什么问题,可以随时联系我

一键脚本已经写好,网址为:https://www.linuxstudy.cn/archives/54.html,请尽情享受吧。

7.我的微信公众号,欢迎各位的关注,有问题请在后台留言,或者加qq群764374820

我的微信公众号

Brook---一款优秀的小众代理软件(酸酸乳和酸酸的完美替代品)

本教程更新自2018-12-10 10:17:05,如果部分失效请尽快联系博主进行更正

1.简介

官方Github地址:https://github.com/txthinking/brook

  • Brook是什么?

Brook是一个跨平台(Linux / MacOS / Windows / Android / iOS)代理/ vpn软件

  • Brook可以干嘛?

如果你有自己的服务器,你可以利用它搭建自己的VPN,还可以科学上网

  • Brook的优点
  1. Brook的目标是保持简单,数据加密,隐蔽性高
  2. 支持全平台

2.用法

下面是官方readme文档给出的用法简介:

NAME:
   Brook - A Cross-Platform Proxy/VPN Software

USAGE:
   brook [global options] command [command options] [arguments...]

VERSION:
   20181212

AUTHOR:
   Cloud <cloud@txthinking.com>

COMMANDS:
     server        Run as server mode
     servers       Run as multiple servers mode
     client        Run as client mode
     tunnel        Run as tunnel mode on client-side
     tproxy        Run as tproxy mode on client-side, transparent proxy, only works on Linux
     vpn           Run as VPN mode on client-side
     ssserver      Run as shadowsocks server mode, fixed method is aes-256-cfb
     ssservers     Run as shadowsocks multiple servers mode, fixed method is aes-256-cfb
     ssclient      Run as shadowsocks client mode, fixed method is aes-256-cfb
     socks5        Run as raw socks5 server
     relay         Run as relay mode
     relays        Run as multiple relays mode
     qr            Print brook server QR code
     socks5tohttp  Convert socks5 to http proxy
     systemproxy   Set system proxy with pac url, or remove, only works on MacOS/Windows
     help, h       Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --debug, -d               Enable debug
   --listen value, -l value  Listen address for debug (default: ":6060")
   --help, -h                show help
   --version, -v             print the version

从上面文档我们不难看出,这款小众代理Brook支持的模式和功能多种多样的,有vpn模式,socks5代理模式,还兼容shadowsocks协议,下面博主就来教大家如何搭建并使用这款服务.

3.安装

  • 获取当前文件夹(一般都在/root下)
pwd
  • 获取Brook最新版本并下载
brook_ver=$(wget -qO- "https://github.com/txthinking/brook/tags"| grep "/txthinking/brook/releases/tag/"| head -n 1| awk -F "/tag/" '{print $2}'| sed 's/\">//') && echo ${brook_ver}
wget -N --no-check-certificate "https://github.com/txthinking/brook/releases/download/${brook_ver}/brook"
  • 增加执行权限
chmod +x brook
  • 启动服务
./brook server -l :端口号 -p 设置密码
  • 注意
  1. 这里你设置的端口号必须开防火墙,具体怎么开自己访问百度
  2. 这样启动并不是万全之策,这里会占用你的前台进程,万全之策是将这个设置成服务

4.配置服务器服务

  • 新建文件brook.service
vim /lib/systemd/system/brook.service
  • 在文件中填入以下信息
[Unit]
Description=brook service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/brook server -l :端口号 -p 密码
# 这里的/brook前面的部分需要视情况而定,根据你下载的Brook所在的目录,用pwd获取
[Install]
WantedBy=multi-user.target
  • 保存并退出

5.启动配置好的服务

systemctl start brook # 启动brook
systemctl stop brook # 停止brook
systemctl status brook # 查看brook服务状态
systemctl restart brook # 重启brook服务
systemctl enable brook # 将brook加入开机启动项

6.使用并连接服务

  • Windows

在这个页面下载Windows界面客户端

https://github.com/txthinking/brook/releases/download/v20181212/Brook.exe

打开之后是以下图片

Brook
第一行协议选择Brook
第二行填如下格式你的服务器IP:端口号
第三行填写你刚才设置的密码

点击save,关闭窗口,此时你的桌面右下角任务栏里面会出现一个小钥匙的标志,右击它,在菜单中选择start,这样你就可以愉快的冲浪了

  • Android

在这个页面下载Windows界面客户端

https://github.com/txthinking/brook/releases/download/v20181212/Brook.apk

打开之后是以下图片

Brook
第一行协议选择Brook
第二行填如下格式你的服务器IP:端口号
第三行填写你刚才设置的密码
点击开始,你就可以愉快的冲浪了

  • Mac

在这个页面下载Mac界面客户端

https://github.com/txthinking/brook/releases/download/v20181212/Brook.dmg

打开之后界面与Windows相似,用法也与Windows相似,详情请看Windows使用

  • IOS

这个需要你从国外的商店里下载Brook,需要一个国外的ios帐号,用法和Android一样

  • Linux

Linux下Brook官方并没有提供界面客户端,只有命令行形式,但是,博主比较懒,用Qt写了一个界面客户端,下面就介绍以下两种使用方法

  • 命令行

在下面的地址下载brook最新版

https://github.com/txthinking/brook/releases/download/v20181212/brook

用下面的命令在终端启动

brook client -l 127.0.0.1:1080 -i 127.0.0.1 -s 服务器IP:端口 -p 密码 

这样你进入浏览器之后,设置以下socks5代理,就可以愉快的上网冲浪了

  • GUI

下载我在Github发布的GUI客户端

https://github.com/770925351/Brook-GUI-For-Linux/releases/download/v1.0/Application-x86_64.AppImage

下载到本地之后增加执行权限

chmod +x Application-x86_64.AppImage

双击文件,会出现以下界面

Brook

填入你的ip,端口号以及密码,点击开始,就可以愉快的上网冲浪了

7.我的微信公众号,欢迎各位的关注,有问题请在后台留言,或者加qq群764374820

我的微信公众号

近期从wordpress转站到Typecho,被Typecho的简洁大方击中内心,机缘巧合之下更是找到RAW这款简约而不失大方的主题,一下子被其所吸引,在刚拿到这个模板的时候我就加入了建站时间的倒计时,不过是在页底,后来开发RAW这款主题的博主也添加了这个模块,而且是在主页左侧,我个人觉得很好看就把这个挪了过来,可能博主的版本用了pajx方法,我的方法比较低端,直接用了一个div包了一段script,下面就把方法分享给大家:

  • 进入网站后台,控制台-->外观-->编辑当前外观-->编辑nav-left.php,将下面这些代码添加到图示位置即可
<div class="nav-left-panel" style="animation-delay:0.2s"><span align="center"><i class="fa fa-heart"></i> 感谢陪伴</span><p align="center" id="runtime_span" style="color:red;font-weight:bold;"></p><script type="text/javascript">function show_runtime(){window.setTimeout("show_runtime()",1000);X=new Date("2/10/2018 0:00:00");Y=new Date();T=(Y.getTime()-X.getTime());M=24*60*60*1000;a=T/M;A=Math.floor(a);b=(a-A)*24;B=Math.floor(b);c=(b-B)*60;C=Math.floor((b-B)*60);D=Math.floor((c-C)*60);runtime_span.innerHTML=A+"天"+B+"小时"+C+"分"+D+"秒"}show_runtime();</script></div>

示意图

  • 之后你就可以实现建站时间的演示了,如下图所示:
    示意图
  • 再次感谢RAW主题的开发者,也是在他的创意基础上进行修改,尊重原创,尊重劳动成果,这是他的博客:

熊猫小A的博客

一键安装KMS服务脚本(搬运)

KMS,是 Key Management System 的缩写,也就是密钥管理系统。这里所说的 KMS,毋庸置疑就是用来激活 VOL 版本的 Windows 和 Office 的 KMS 啦。经常能在网上看到有人提供的 KMS 服务器地址,那么你有没有想过自己也来搞一个这样的服务呢?而这样的服务在 Github 上已经有开源代码实现了。
本文就是在这个开源代码的基础上,开发了适用于三大 Linux 发行版的一键安装 KMS 服务的脚本。

本脚本使用环境

系统支持:CentOS 6+ Debian 7+ Ubuntu 12+
虚拟技术:任意
内存要求:≥128M

关于本脚本

1、本脚本适用于三大 Linux 发行版,其他版本则不支持。
2、KMS 服务安装完成后会加入开机自启动。
3、默认记录日志,其日志位于 /var/log/vlmcsd.log。

安装方法

  • root用户登录你服务器,运行以下命令:
wget --no-check-certificate https://github.com/teddysun/across/raw/master/kms.sh && chmod +x kms.sh && ./kms.sh
  • 安装完成后,输入以下命令查看端口号 1688 的监听情况:
netstat -nxtlp | grep 1688

​ 返回值类似于如下这样就表示 OK 了:

tcp        0      0 0.0.0.0:1688                0.0.0.0:*                   LISTEN      3200/vlmcsd         
tcp        0      0 :::1688                     :::*                        LISTEN      3200/vlmcsd 
  • 本脚本安装完成后,会将 KMS 服务加入开机自启动。

使用命令:

启动:/etc/init.d/kms start
停止:/etc/init.d/kms stop
重启:/etc/init.d/kms restart
状态:/etc/init.d/kms status

卸载方法:

  • 使用 root 用户登录,运行以下命令:
./kms.sh uninstall

如何使用kms服务

KMS 服务,用于在线激活 VOL 版本的 Windows 和 Office。
激活的前提是你的系统是批量授权版本,即 VL 版,一般企业版都是 VL 版。而 VL 版本的镜像一般内置 GVLK key,用于 KMS 激活。
下面列表里面含有的产品的 VL 版本或者能使用 key 进入 KMS 通道的产品,都支持使用 KMS 激活,下面是支持kms的产品

Office 2019 & Office 2016:https://docs.microsoft.com/en-us/DeployOffice/vlactivation/gvlks
Office 2013:https://technet.microsoft.com/zh-cn/library/dn385360.aspx
Office 2010:https://technet.microsoft.com/zh-cn/library/ee624355(v=office.14).aspx
Windows:https://docs.microsoft.com/zh-cn/windows-server/get-started/kmsclientkeys

Windows 激活

  • 使用管理员权限运行 cmd 查看系统版本,命令如下:
wmic os get caption
  • 使用管理员权限运行 cmd 安装从上面列表得到的 key,命令如下:
slmgr /ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
  • 使用管理员权限运行 cmd 将 KMS 服务器地址设置为你自己的 IP 或 域名,后面最好再加上端口号(:1688),命令如下:
slmgr /skms Your IP or Domain:1688

注意:本脚本所做的工作就是此步骤。当你的 KMS 服务出于启动状态,那么此处就可以设置为你自己的 KMS 服务器地址。

  • 使用管理员权限运行 cmd 手动激活系统,命令如下:
slmgr /ato

Office激活

  • 关于 Office 的激活,要求必须是 VOL 版本,否则无法激活。
    找到你的 Office 安装目录,32 位默认一般为 C:Program Files (x86)Microsoft OfficeOffice16

64 位默认一般为 C:Program FilesMicrosoft OfficeOffice16
Office16 是 Office 2016,Office15 就是 Office 2013,Office14 就是 Office 2010。
打开以上所说的目录,应该有个 OSPP.VBS 文件。

  • 使用管理员权限运行 cmd 进入 Office 目录,命令如下:
cscript ospp.vbs /sethst:Your IP or Domain
  • 使用管理员权限运行 cmd 手动激活 Office,命令如下:
cscript ospp.vbs /act

注意: KMS 方式激活,其有效期只有 180 天。
每隔一段时间系统会自动向 KMS 服务器请求续期,请确保你自己的 KMS 服务正常运行。

常见错误对策

如果遇到在执行过程报错,请按以下步骤检查:
1,你的 KMS 服务器是否挂了?
2,你的 KMS 服务是否正常开启?
3,你的系统或 Office 是否为批量 VL 版本?
4,你的系统或 Office 是否修改过 Key 或未安装 GVLK Key?
5,你是否以管理员权限运行 cmd?
6,你的网络连接是否正常?
7,你的本地 DNS 解析是否正常?
8,如果你排除了以上的对策,那请根据错误提示代码自行搜索原因。

搬运自:https://teddysun.com/530.html