问题遇到的现象和发生背景
使用TamperMonkey插件开发脚本,需从后台接口拿数据,然后在前端指定网页使用这些数据进行相应处理。
目前使用的GM_xmlhttpRequest从后台接口拿数据,后台接口是用ASP.Net搭建的https,但是由于此系统没有SSL认证,以及自签名证书不被浏览器认可,GM_xmlhttpRequest拿不到数据,会被浏览器拦截,
问题相关代码,请勿粘贴截图
GM_xmlhttpRequest({
method: "GET",
url: "https://127.0.0.1:5001/x",//ip为服务器ip,此处代替
headers: {
"Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
},
data:"",
onload: function(response){
console.log(response);
},
onerror: function(response){
console.log(response);
console.log("连接失败");
}
});
运行结果及报错内容
如果是手动访问此网址,浏览器会提示“您的连接不是私密连接”
如果手动点击“忽略警告,继续访问”的话,GM_xmlhttpRequest就可以访问此接口,但是无法实现让客户进行此操作
如果不点击的话,GM_xmlhttpRequest的访问会被浏览器拦截
我的解答思路和尝试过的方法
ASP.Net添加证书,由于特殊原因,无法申请SSL证书,有尝试过自签名证书,但是没有作用。
现在考虑GM_xmlhttpRequest有没有办法跳过浏览器的SSL认证去访问接口,
尝试过C#,可以跳过SSL认证,如果不跳过的话也会被证书拦截。
我想要达到的结果
GM_xmlhttpRequest能否忽略SSL证书去访问https接口