写在前面

嗯。又来了,又说到跨域了,这是一个老生常谈的话题,以前我觉得这种基础文章没有什么好写的,会想着你去了解底层啊,不是很简单吗。但是最近在开发一个 「vscode 插件」 发现,当你刚入门一样东西的时候,你不会想这么多,因为你对他不熟悉,当你遇到不会的东西,你就是想先找到解决方案,然后通过这个解决方案再去深入理解。就比如跨域,新人或者刚接触的人对它并不是那么熟悉,所以说列出一些自己积累的方案,以及一些常用的场景来给他人带来一些解决问题的思路,这件事是有意义的。(写完之后还发现真香。以后忘了还能回来看看)

其实现在的环境对于刚入门的前端来说,非常的不友好,一方面吧,很多刚新人没有经历过工具的变更时代,另一方面框架的迭代更新速度很快。在以前你可能掌握几种常见的手法就好了。但是现在 webpack-dev-servervue-cliparcel,这些脚手架都进行了一层封装,对于熟悉的人可能很简单,但是对于还未入门的人来说,简直就是一个黑盒,虽然用起来很方便,但是某一天遇到了问题,你对它不熟悉,你就会不知道所错。(但是别慌,主流 cli 的跨域方式我都会讲到)

讲着讲着有点偏离方向,可能我讲的也并不一定是正确的。下面切入正题。

本文会以 「「What-How-Why」」 的方式来进行讲解。而在在 How (如何解决跨域,将会提供标题的 11 种方案。)

「重要的说明: 在文中,web 端地址为 localhost:8000 服务端地址为 localhost:8080,这一点希望你能记住,会贯穿全文,你也可以把此处的两端的地址代入你自己的地址。

 cors

以下所有代码均在

https://github.com/hua1995116/node-demo/tree/master/node-cors

 

一、跨域是什么?

1.同源策略

跨域问题其实就是浏览器的同源策略所导致的。

「同源策略」是一个重要的安全策略,它用于限制一个origin的文档或者它加载的脚本如何能与另一个源的资源进行交互。它能帮助阻隔恶意文档,减少可能被攻击的媒介。

--来源 MDN

当跨域时会收到以下错误

2.同源示例

那么如何才算是同源呢?先来看看 url 的组成部分

http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument

 只有当

「protocol(协议)、domain(域名)、port(端口)三者一致。」

「protocol(协议)、domain(域名)、port(端口)三者一致。」

「protocol(协议)、domain(域名)、port(端口)三者一致。」

才是同源。

以下协议、域名、端口一致。

http://www.example.com:80/a.js

http://www.example.com:80/b.js

以下这种看上去再相似也没有用,都不是同源。

http://www.example.com:8080

http://www2.example.com:80

在这里注意一下啊,这里是为了突出端口的区别才写上端口。在默认情况下 http 可以省略端口 80, https 省略 443。这别到时候闹笑话了,你和我说 http://www.example.com:80 和 http://www.example.com 不是同源,他俩是一个东西。

http://www.example.com:80 === http://www.example.com

https://www.example.com:443 === https://www.example.com

唔,还是要说明一下。

二、如何解决跨域?

1.CORS

跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的 Web 应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器「不同的域、协议或端口」请求一个资源时,资源会发起一个「跨域 HTTP 请求」

而在 cors 中会有 简单请求 和 复杂请求的概念。

「浏览器支持情况」

当你使用 IE<=9, Opera<12, or Firefox<3.5 或者更加老的浏览器,这个时候请使用 JSONP 。

a.简单请求

不会触发 CORS 预检请求。这样的请求为“简单请求”,请注意,该术语并不属于 Fetch (其中定义了 CORS)规范。若请求满足所有下述条件,则该请求可视为“简单请求”:

情况一: 使用以下方法(意思就是以下请求意外的都是非简单请求)

  • GET

  • HEAD

  • POST

情况二: 人为设置以下集合外的请求头

  • Accept

  • Accept-Language

  • Content-Language

  • Content-Type (需要注意额外的限制)

  • DPR

  • Downlink

  • Save-Data

  • Viewport-Width

  • Width

情况三:Content-Type的值仅限于下列三者之一:(例如 application/json 为非简单请求)

  • text/plain

  • multipart/form-data

  • application/x-www-form-urlencoded

情况四:

请求中的任意XMLHttpRequestUpload 对象均没有注册任何事件监听器;XMLHttpRequestUpload 对象可以使用 XMLHttpRequest.upload 属性访问。

情况五:

请求中没有使用 ReadableStream 对象。

b.非简单请求

除以上情况外的。

c.Node 中的解决方案

原生方式

我们来看下后端部分的解决方案。Node 中 CORS 的解决代码.

app.use(async (ctx, next) => {ctx.set("Access-Control-Allow-Origin", ctx.headers.origin);ctx.set("Access-Control-Allow-Credentials", true);ctx.set("Access-Control-Request-Method", "PUT,POST,GET,DELETE,OPTIONS");ctx.set("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept, cc");if (ctx.method === "OPTIONS") {ctx.status = 204;return;}await next();
});

第三方中间件

为了方便也可以直接使用中间件

const cors = require("koa-cors");app.use(cors());

关于 cors 的 cookie 问题

想要传递 cookie 需要满足 3 个条件

1.web 请求设置withCredentials

这里默认情况下在跨域请求,浏览器是不带 cookie 的。但是我们可以通过设置 withCredentials 来进行传递 cookie.

// 原生 xml 的设置方式
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
// axios 设置方式
axios.defaults.withCredentials = true;

2.Access-Control-Allow-Credentials 为 true

3.Access-Control-Allow-Origin为非 *

这里请求的方式,在 chrome 中是能看到返回值的,但是只要不满足以上其一,浏览器会报错,获取不到返回值。

 

Access to XMLHttpRequest at 'http://127.0.0.1:8080/api/corslist' from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

 

d.前端示例

分别演示一下前端部分 简单请求 和 非简单请求

简单请求

<script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>
<script>axios.get("http://127.0.0.1:8080/api/corslist");
</script>

非简单请求

这里我们加入了一个非集合内的 header 头 cc 来达到非简单请求的目的。

<script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>
<script>axios.get("http://127.0.0.1:8080/api/corslist", { header: { cc: "xxx" } });
</script>

 

 小结

1、 在新版的 chrome 中,如果你发送了复杂请求,你却看不到 options 请求。可以在这里设置 chrome://flags/#out-of-blink-cors 设置成 disbale ,重启浏览器。对于非简单请求就能看到 options 请求了。

2、 一般情况下后端接口是不会开启这个跨域头的,除非是一些与用户无关的不太重要的接口。

2.Node 正向代理

代理的思路为,利用服务端请求不会跨域的特性,让接口和当前站点同域。

「代理前」

 「代理后」

 这样,所有的资源以及请求都在一个域名下了。

a.cli 工具中的代理

1) Webpack (4.x)

webpack中可以配置proxy来快速获得接口代理的能力。

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");module.exports = {entry: {index: "./index.js"},output: {filename: "bundle.js",path: path.resolve(__dirname, "dist")},devServer: {port: 8000,proxy: {"/api": {target: "http://localhost:8080"}}},plugins: [new HtmlWebpackPlugin({filename: "index.html",template: "webpack.html"})]
};

修改前端接口请求方式,改为不带域名。(因为现在是同域请求了)

<button id="getlist">获取列表</button>
<button id="login">登录</button>
<script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>
<script>axios.defaults.withCredentials = true;getlist.onclick = () => {axios.get("/api/corslist").then(res => {console.log(res.data);});};login.onclick = () => {axios.post("/api/login");};
</script>

2) Vue-cli 2.x

// config/index.js...
proxyTable: {'/api': {target: 'http://localhost:8080',}
},
...

3) Vue-cli 3.x

// vue.config.js 如果没有就新建

module.exports = {devServer: {port: 8000,proxy: {"/api": {target: "http://localhost:8080"}}}
};

4) Parcel (2.x)

// .proxyrc
{"/api": {"target": "http://localhost:8080"}
}

看到这里,心里一句 xxx 就会脱口而出,一会写配置文件,一会 proxyTable ,一会 proxy,怎么这么多的形式?学不动了学不动了。。。不过也不用慌,还是有方法的。以上所有配置都是有着共同的底层包 http-proxy-middleware .里面需要用到的各种 websocket ,rewrite 等功能,直接看这个库的配置就可以了。关于 http-proxy-middleware 这个库的原理可以看我这篇文章 https://github.com/hua1995116/proxy 当然了。。。对于配置的位置入口还是非统一的。教一个搜索的技巧吧,上面配置写哪里都不用记的,想要哪个框架的 直接 google 搜索 xxx proxy 就行了。

例如 vue-cli 2 proxy 、 webpack proxy 等等....基本会搜到有官网的配置答案,通用且 nice。

b.使用自己的代理工具

cors-anywhere

「服务端」

// Listen on a specific host via the HOST environment variable
var host = process.env.HOST || "0.0.0.0";
// Listen on a specific port via the PORT environment variable
var port = process.env.PORT || 7777;var cors_proxy = require("cors-anywhere");
cors_proxy.createServer({originWhitelist: [], // Allow all originsrequireHeader: ["origin", "x-requested-with"],removeHeaders: ["cookie", "cookie2"]}).listen(port, host, function() {console.log("Running CORS Anywhere on " + host + ":" + port);});

「前端代码」

<script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>
<script>axios.defaults.withCredentials = true;getlist.onclick = () => {axios.get("http://127.0.0.1:7777/http://127.0.0.1:8080/api/corslist").then(res => {console.log(res.data);});};login.onclick = () => {axios.post("http://127.0.0.1:7777/http://127.0.0.1:8080/api/login");};
</script>

「效果展示」

 

「缺点」

无法专递 cookie,原因是因为这个是一个代理库,作者觉得中间传递 cookie 太不安全了。https://github.com/Rob--W/cors-anywhere/issues/208#issuecomment-575254153

c.charles

介绍

这是一个测试、开发的神器。介绍与使用

利用 charles 进行跨域,本质就是请求的拦截与代理。

在 tools/map remote 中设置代理

 前端代码

<button id="getlist">获取列表</button>
<button id="login">登录</button>
<script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>
<script>axios.defaults.withCredentials = true;getlist.onclick = () => {axios.get("/api/corslist").then(res => {console.log(res.data);});};login.onclick = () => {axios.post("/api/login");};
</script>

后端代码

router.get("/api/corslist", async ctx => {ctx.body = {data: [{ name: "秋风的笔记" }]};
});router.post("/api/login", async ctx => {ctx.cookies.set("token", token, {expires: new Date(+new Date() + 1000 * 60 * 60 * 24 * 7)});ctx.body = {msg: "成功",code: 0};
});

效果

访问 http://localhost:8000/charles

 

 

唔。这里又有一个注意点。在 Mac mojave 10.14 中会出现 charles 抓不到本地包的情况。这个时候需要自定义一个域名,然后配置hosts指定到127.0.0.1。然后修改访问方式 http://localhost.charlesproxy.com:8000/charles

 

3.Nginx 反向代理

介绍

Nginx 则是通过反向代理的方式,(这里也需要自定义一个域名)这里就是保证我当前域,能获取到静态资源和接口,不关心是怎么获取的。nginx 安装教程

 配置下 hosts

127.0.0.1 local.test

配置 nginx

server {listen 80;server_name local.test;location /api {proxy_pass http://localhost:8080;}location / {proxy_pass http://localhost:8000;}
}

启动 nginx

sudo nginx

重启 nginx

sudo nginx -s reload

实现

前端代码

<script>axios.defaults.withCredentials = true;getlist.onclick = () => {axios.get("/api/corslist").then(res => {console.log(res.data);});};login.onclick = () => {axios.post("/api/login");};
</script>

后端代码

router.get("/api/corslist", async ctx => {ctx.body = {data: [{ name: "秋风的笔记" }]};
});router.post("/api/login", async ctx => {ctx.cookies.set("token", token, {expires: new Date(+new Date() + 1000 * 60 * 60 * 24 * 7)});ctx.body = {msg: "成功",code: 0};
});

效果

访问 http://local.test/charles

浏览器显示

 4.JSONP

JSONP 主要就是利用了 script 标签没有跨域限制的这个特性来完成的。

「使用限制」

仅支持 GET 方法,如果想使用完整的 REST 接口,请使用 CORS 或者其他代理方式。

「流程解析」

1.前端定义解析函数(例如 jsonpCallback=function(){....})

2.通过 params 形式包装请求参数,并且声明执行函数(例如 cb=jsonpCallback)

3.后端获取前端声明的执行函数(jsonpCallback),并以带上参数并调用执行函数的方式传递给前端。

「使用示例」

后端实现

const Koa = require("koa");
const fs = require("fs");
const app = new Koa();app.use(async (ctx, next) => {if (ctx.path === "/api/jsonp") {const { cb, msg } = ctx.query;ctx.body = `${cb}(${JSON.stringify({ msg })})`;return;}
});app.listen(8080);

普通 js 示例

<script type="text/javascript">window.jsonpCallback = function(res) {console.log(res);};
</script>
<scriptsrc="http://localhost:8080/api/jsonp?msg=hello&cb=jsonpCallback"type="text/javascript"
></script>

JQuery Ajax 示例

<script src="https://cdn.bootcss.com/jquery/3.5.0/jquery.min.js"></script>
<script>$.ajax({url: "http://localhost:8080/api/jsonp",dataType: "jsonp",type: "get",data: {msg: "hello"},jsonp: "cb",success: function(data) {console.log(data);}});
</script>

「原理解析」

其实这就是 js 的魔法

我们先来看最简单的 js 调用。嗯,很自然的调用。

<script>window.jsonpCallback = function(res) {console.log(res);};
</script>
<script>jsonpCallback({ a: 1 });
</script>

我们稍稍改造一下,外链的形式。‘

<script>window.jsonpCallback = function(res) {console.log(res);};
</script>
<script src="http://localhost:8080/api/a.js"></script>// http://localhost:8080/api/a.js jsonpCallback({a:1});

我们再改造一下,我们把这个外链的 js 就当做是一个动态的接口,因为本身资源和接口一样,是一个请求,也包含各种参数,也可以动态化返回。

<script>window.jsonpCallback = function(res) {console.log(res);};
</script>
<script src="http://localhost:8080/api/a.js?a=123&cb=sonpCallback"></script>// http://localhost:8080/api/a.js jsonpCallback({a:123});

你仔细品,细细品,是不是 jsonp 有的优势就是 script 加载 js 的优势,加载的方式只不过换了一种说法。这也告诉我们一个道理,很多东西并没有那么神奇,是在你所学的知识范围内。就好比,桃树和柳树,如果你把他们当成很大跨度的东西去记忆理解,那么世上这么多树,你真的要累死了,你把他们都当成是树,哦吼?你会突然发现,你对世界上所有的树都有所了解,他们都会长叶子,光合作用....当然也有个例,但是你只需要去记忆这些细微的差别,抓住主干。。。嗯,反正就这么个道理。

5.Websocket

WebSocket 规范定义了一种 API,可在网络浏览器和服务器之间建立“套接字”连接。简单地说:客户端和服务器之间存在持久的连接,而且双方都可以随时开始发送数据。详细教程可以看 https://www.html5rocks.com/zh/tutorials/websockets/basics/

这种方式本质没有使用了 HTTP, 因此也没有跨域的限制,没有什么过多的解释直接上代码吧。

前端部分

<script>let socket = new WebSocket("ws://localhost:8080");socket.onopen = function() {socket.send("秋风的笔记");};socket.onmessage = function(e) {console.log(e.data);};
</script>

后端部分

const WebSocket = require("ws");
const server = new WebSocket.Server({ port: 8080 });
server.on("connection", function(socket) {socket.on("message", function(data) {socket.send(data);});
});

6.window.postMessage

「window.postMessage()」 方法可以安全地实现跨源通信。通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为 https),端口号(443 为 https 的默认值),以及主机 (两个页面的模数 Document.domain设置为相同的值) 时,这两个脚本才能相互通信。「window.postMessage()」 方法提供了一种受控机制来规避此限制,只要正确的使用,这种方法就很安全。

用途

1.页面和其打开的新窗口的数据传递

2.多窗口之间消息传递

3.页面与嵌套的 iframe 消息传递

用法

详细用法看 https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage

otherWindow.postMessage(message, targetOrigin, [transfer]);

  • otherWindow: 其他窗口的一个引用,比如 iframe 的 contentWindow 属性、执行window.open返回的窗口对象、或者是命名过或数值索引的window.frames。

  • message: 将要发送到其他 window 的数据。

  • targetOrigin: 通过窗口的 origin 属性来指定哪些窗口能接收到消息事件.

  • transfer(可选) : 是一串和 message 同时传递的 Transferable 对象. 这些对象的所有权将被转移给消息的接收方,而发送一方将不再保有所有权

示例

index.html

<iframesrc="http://localhost:8080"frameborder="0"id="iframe"onload="load()"
></iframe>
<script>function load() {iframe.contentWindow.postMessage("秋风的笔记", "http://localhost:8080");window.onmessage = e => {console.log(e.data);};}
</script>

another.html

<div>hello</div>
<script>window.onmessage = e => {console.log(e.data); // 秋风的笔记e.source.postMessage(e.data, e.origin);};
</script>

7.document.domain + Iframe

从第 7 种到第 9 种方式,我觉得别人的写的已经很好了,为了完整性,我就拿别人的了。如有雷同....(不对,就是雷同....)不要说不出来

「该方式只能用于二级域名相同的情况下,比如 a.test.com 和 b.test.com 适用于该方式」。只需要给页面添加 document.domain ='test.com' 表示二级域名都相同就可以实现跨域。

www.   baidu.  com     .
三级域  二级域   顶级域   根域

// a.test.com
<body>helloa<iframesrc="http://b.test.com/b.html"frameborder="0"onload="load()"id="frame"></iframe><script>document.domain = "test.com";function load() {console.log(frame.contentWindow.a);}</script>
</body>
// b.test.com
<body>hellob<script>document.domain = "test.com";var a = 100;</script>
</body>

8.window.location.hash + Iframe8.window.location.hash + Iframe

实现原理

原理就是通过 url 带 hash ,通过一个非跨域的中间页面来传递数据。

实现流程

一开始 a.html 给 c.html 传一个 hash 值,然后 c.html 收到 hash 值后,再把 hash 值传递给 b.html,最后 b.html 将结果放到 a.html 的 hash 值中。同样的,a.html 和 b.htm l 是同域的,都是 http://localhost:8000,而 c.html 是http://localhost:8080

// a.html
<iframe src="http://localhost:8080/hash/c.html#name1"></iframe>
<script>console.log(location.hash);window.onhashchange = function() {console.log(location.hash);};
</script>
// b.html
<script>window.parent.parent.location.hash = location.hash;
</script>
// c.html
<body></body>
<script>console.log(location.hash);const iframe = document.createElement("iframe");iframe.src = "http://localhost:8000/hash/b.html#name2";document.body.appendChild(iframe);
</script>

9.window.name + Iframe

window 对象的 name 属性是一个很特别的属性,当该 window 的 location 变化,然后重新加载,它的 name 属性可以依然保持不变。

其中 a.html 和 b.html 是同域的,都是http://localhost:8000,而 c.html 是http://localhost:8080

// a.html
<iframesrc="http://localhost:8080/name/c.html"frameborder="0"onload="load()"id="iframe"
></iframe>
<script>let first = true;// onload事件会触发2次,第1次加载跨域页,并留存数据于window.namefunction load() {if (first) {// 第1次onload(跨域页)成功后,切换到同域代理页面iframe.src = "http://localhost:8000/name/b.html";first = false;} else {// 第2次onload(同域b.html页)成功后,读取同域window.name中数据console.log(iframe.contentWindow.name);}}
</script>

b.html 为中间代理页,与 a.html 同域,内容为空。

// b.html
<div></div>
// c.html
<script>window.name = "秋风的笔记";
</script>

通过 iframe 的 src 属性由外域转向本地域,跨域数据即由 iframe 的 window.name 从外域传递到本地域。这个就巧妙地绕过了浏览器的跨域访问限制,但同时它又是安全操作。

10.浏览器开启跨域(终极方案)

其实讲下其实跨域问题是浏览器策略,源头是他,那么能否能关闭这个功能呢?

答案是肯定的。

「注意事项: 因为浏览器是众多 web 页面入口。我们是否也可以像客户端那种,就是用一个单独的专门宿主浏览器,来打开调试我们的开发页面。例如这里以 chrome canary 为例,这个是我专门调试页面的浏览器,不会用它来访问其他 web url。因此它也相对于安全一些。当然这个方式,只限于当你真的被跨域折磨地崩溃的时候才建议使用以下。使用后,请以正常的方式将他打开,以免你不小心用这个模式干了其他的事。」

Windows

找到你安装的目录
.\Google\Chrome\Application\chrome.exe --disable-web-security --user-data-dir=xxxx

Mac

~/Downloads/chrome-data 这个目录可以自定义.

/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary  --disable-web-security --user-data-dir=~/Downloads/chrome-data

效果展示

 嗯,使用起来很香,但是再次提醒,一般情况千万别轻易使用这个方式,这个方式好比七伤拳,使用的好威力无比,使用不好,很容易伤到自己。

三、为什么需要跨域?

在最一开始,我们知道了,跨域只存在于浏览器端。而浏览器为 web 提供访问入口。我们在可以浏览器内打开很多页面。正是这样的开放形态,所以我们需要对他有所限制。就比如林子大了,什么鸟都有,我们需要有一个统一的规范来进行约定才能保障这个安全性。

1.限制不同源的请求

这里还是用最常用的方式来讲解,例如用户登录 a 网站,同时新开 tab 打开了 b 网站,如果不限制同源, b 可以像 a 网站发起任何请求,会让不法分子有机可趁。

2.限制 dom 操作

我举个例子吧, 你先登录下 www.baidu.com ,然后访问我这个网址。

https://zerolty.com/node-demo/index.html

 你会发现,这个和真实的百度一模一样,如果再把域名搞的相似一些,是不是很容易被骗,如果可以进行 dom 操作...那么大家的信息在这种钓鱼网站眼里都是一颗颗小白菜,等着被收割。

可以在 http 返回头 添加X-Frame-Options: SAMEORIGIN 防止被别人添加至 iframe。

写在最后

以上最常用的就是前 4 种方式,特别是第 2 种非常常见,我里面也提到了多种示例,大家可以慢慢消化一下。希望未来有更加安全的方式来限制 web ,解决跨域的头疼,哈哈哈哈。

「有一个不成熟的想法,可以搞这么一个浏览器,只让访问内网/本地网络,专门给开发者用来调试页面用,对于静态资源可以配置白名单,这样是不是就没有跨域问题了,23333。上述如有错误,请第一时间指出,我会进行修改,以免给大家来误导。

参考

https://stackoverflow.com/questions/12296910/so-jsonp-or-cors

https://juejin.im/post/5c23993de51d457b8c1f4ee1#heading-18

https://juejin.im/post/5a6320d56fb9a01cb64ee191

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS

https://developer.mozilla.org/zh-CN/docs/Web/Security/Same-origin_policy

https://blog.csdn.net/xgangzai/article/details/106846418?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-0.pc_relevant_default&spm=1001.2101.3001.4242.1&utm_relevant_index=3

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. flink 1.10.1 java版本wordcount演示 (nc + socket)

    1. 在linux机器上安装nc yum install nc y 按提示完成安装。测试的时候比较方便。 2. 在idea创建maven项目&#xff0c;并添加依赖 <properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.ta…...

    2024/4/14 3:29:44
  2. 解决pycocotools的安装问题:No module named pycocotools

    在github上的maskrcnn项目&#xff0c;比如matterport的tensorflow项目或者multimodellearning的torch项目&#xff0c;都需要安装pycocotools包&#xff0c;这些项目的readme.md中都介绍了略微复杂的安装方法&#xff0c;下载cocoapi&#xff0c;然后cd pythonAPI&#xff0c;…...

    2024/4/17 13:36:32
  3. 过河马 蓝桥杯

    解题思路 这道题用动态规划&#xff0c;由题意只马只能向上走&#xff0c;因此马要一步到某一位置最多有如下图所示四种线路。 下图以4行4列的棋盘为例&#xff0c;格子中的数字代表马到这个位置的走法&#xff0c;可由上述方法得到&#xff0c;即从下往上、从左往右依次遍历到…...

    2024/4/14 3:29:44
  4. 电脑睡眠后启动 耳机没有声音 手动启动 -已解决

    ...

    2024/4/18 16:04:12
  5. (77条消息) SpringSecurity中表单验证loginProcessingUrl和loginPage问题

    SpringSecurity中表单验证loginProcessingUrl和loginPage问题 没问题之前状态&#xff1a; 之前使用SpringSecurity用户登录验证的时候 一直用的是/login请求跳转到自定义登陆页面 表单提交用的也是action/login 而Security配置中loginPage用的也是/login&#xff0c;没有什么问…...

    2024/4/14 3:29:39
  6. (一)搭建graphql项目, 前端可随意指定接口返回的数据

    什么是graphql 首先,让我们看下面这张图: 以往的模式是, client端和server端直接互相通信, 很多情况下, 作为前端开发, 往往是服务端返回什么数据, 我们只能被动接受. 可能我们只需要一个参数person, 可服务端会返回很多不相关的其他信息, 这不仅仅增加了网络负担, 更加大了前…...

    2024/5/6 5:19:48
  7. element-ui 保存之后要显示label结果显示value

    <el-selectfilterable:filter-method"filterSearchName"v-model"actionForm.forcer"value-key"id"placeholder"请选择执行人" clearable><el-optionv-for"item in staffInfo":key"item.id":label"i…...

    2024/5/6 8:43:12
  8. HDU 2012 素数判定

    问题描述 对于表达式 n^2n41&#xff0c;当 n 在&#xff08;x,y&#xff09;范围内取整数值时&#xff08;包括 x,y&#xff09;(-39<x<y<50)&#xff0c;判定 该表达式的值是否都为素数。 输入 输入数据有多组&#xff0c;每组占一行&#xff0c;由两个整数 x&am…...

    2024/4/17 10:18:09
  9. selenium判断元素是否存在

    import webbrowserfrom selenium import webdriver from selenium.webdriver.chrome.options import Optionsdef start(browser,xpath):baidu browser.find_elements_by_xpath(xpath)if len(baidu)!1:print("定位到{}".format(len(baidu)))return Falseif len(baidu…...

    2024/4/18 16:00:21
  10. Centos7安装redis

    下载安装包 wget http://download.redis.io/releases/redis-5.0.7.tar.gz 解压安装包 tar -zxvf redis-5.0.7.tar.gz 移动到指定目录 mv redis-5.0.7 /opt/apps/ 编译&#xff08;直接make会报错&#xff0c;建议加上参数&#xff09; 解决办法&#xff0c;先安装c yum -y …...

    2024/5/6 5:25:59
  11. 【爬虫剑谱】第三卷 拾遗篇 第三章 有关于bs4库中的BeautifulSoup模块使用小结

    关于关于bs4库中的BeautifulSoup模块在实战后的快速上手小结一、BeautifulSoup 模块1.将 Beautiful 对象实例化的两种方法&#xff08;1&#xff09;将本地 HTML 文档转为 BeautifulSoup 对象&#xff08;2&#xff09;将爬到的网页源代码转为 BeautifulSoup 对象2. BeautifulS…...

    2024/4/5 4:04:02
  12. CSS的三种导入方式(源码实例)

    大家好&#xff0c;今天我们来分享一下css的四种导入方式 行内样式&#xff1a; 上源码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title></head> <body>…...

    2024/4/14 3:31:00
  13. 唯一 蓝桥杯

    解题思路 此题运用异或运算即可&#xff0c;已知0 ^ a a&#xff0c;a ^ a 0&#xff0c;(a ^ b) ^ c a ^ (b ^ c)&#xff0c;因此我们令ans初值为0&#xff0c;然后依次与输入数字进行异或运算即可得到出现奇数次的数。 代码 #include<iostream> using namespace st…...

    2024/4/19 13:37:59
  14. 【OD矩阵】《城市公交IC卡·数据分析方法及应用》基于ICAVL数据的上车站点识别

    《城市公交IC卡数据分析方法及应用》 陈学武、李海波、候贤耀著 《城市公交IC卡数据分析方法及应用》基于IC&AVL数据的上车站点识别笔记 算法基本思路: 此处算法的核心思想是&#xff1a;通过IC卡数据和AVL数据的时间匹配&#xff0c;获取IC卡记录对应的上车站点 算法所…...

    2024/4/14 3:30:25
  15. 链表-指针-地址-小栗子

    可以复制下去编译看看 两个类似的倒序函数跑出来结果是不一样的 可能会对小白理解链表和指针有帮助(比如我QAQ&#xff09; #include <stdio.h> #include <stdlib.h>#define nnode struct node #define nsize sizeof(struct node)struct node{int num;struct no…...

    2024/5/6 6:03:07
  16. Java____方法递归

    方法递归方法递归概念结论例&#xff1a; 写一个递归函数实现5的阶乘例&#xff1a;用递归实现 12...10例&#xff1a;输入一个非负整数&#xff0c;返回组成他的数字之和例&#xff1a; 按顺序打印数字的每一位方法递归 概念 方法递归&#xff1a;程序结构&#xff0c;在数据…...

    2024/4/18 21:39:29
  17. pikachu练习——file inclusion(文件包含漏洞)

    一、file inclusion&#xff08;local&#xff09;&#x1f31f;&#x1f31f; 1、在文件上传漏洞的getimagesize中上传拼接的111shell2.jpg文件 &#xff08;1&#xff09;这是文件url路径 http://192.168.1.32:8083/vul/unsafeupload/getimagesize.php &#xff08;2&…...

    2024/4/14 3:30:40
  18. 后端接口测试没问题,前端HTTP500错误

    项目上线后&#xff0c;线上有个接口一直报500&#xff0c;然是直接再本地请求却没问题&#xff0c;本地直接请求微服务项目地址&#xff0c;报错Exceeded limit on max bytes to buffer : 262144。 这个问题是spring的缓冲区溢出造成的&#xff0c;导致问题的请求一般有两种 …...

    2024/4/14 3:30:35
  19. 关键字提取

    关键字提取 简单来说关键字提取就是从一段文本中将最能体现总体思想的词或句抽取出来。关键字可以帮助我们快速了解文本想要表达的内容&#xff0c;尤其是在很长的文献、作文、专利等篇幅巨大、内容居多的场景中可以发挥出不错的效果。 关键词的提取具有如下方法&#x…...

    2024/5/1 15:09:51
  20. constexpr介绍以及与const的区别

    文章目录1. 常量表达式2. constexpr2.1 constexpr修饰常量2.2 constexpr修饰函数2.3 constexpr修饰类的构造函数2.4 constexpr修饰模板函数3. constexpr与const的区别1. 常量表达式 所谓常量表达式&#xff0c;指的就是由多个&#xff08;≥1&#xff09;常量组成的表达式。换…...

    2024/4/16 9:04:25

最新文章

  1. C++:重写和重载

    重写&#xff08;Override&#xff09;和重载&#xff08;Overload&#xff09;是面向对象编程中常用的两个概念&#xff0c;它们虽然都涉及到方法的定义&#xff0c;但是在实现和使用上有着不同的特点。 重写&#xff08;Override&#xff09;&#xff1a; 重写是指在子类中重…...

    2024/5/6 15:50:02
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/6 9:38:23
  3. macU盘在电脑上读不出来 u盘mac读不出来怎么办 macu盘不能写入

    对于Mac用户来说&#xff0c;使用U盘是很常见的操作&#xff0c;但有时候可能会遇到Mac电脑无法读取U盘的情况&#xff0c;这时候就需要使用一些特定的工具软件来帮助我们解决问题。本文就来告诉大家macU盘在电脑上读不出来是怎么回事&#xff0c;u盘mac读不出来怎么办。 一、m…...

    2024/5/6 6:41:57
  4. 学习鸿蒙基础(11)

    目录 一、Navigation容器 二、web组件 三、video视频组件 四、动画 1、属性动画 .animation() 2、 转场动画 transition() 配合animateTo() 3、页面间转场动画 一、Navigation容器 Navigation组件一般作为页面的根容器&#xff0c;包括单页面、分栏和自适应三种显示模式…...

    2024/5/4 11:54:31
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57