
{
this.setState({ error: true, errMsg: error.message });
});};
_messageQueue = [];
_convertToUrl = () => {
const { url } = this.state;
if (!url) {
// 提示输入URL
alert('请输入URL');
return false;
}
let urlObj = null;
try {
urlObj = new URL(url);
// 如果url无效,则忽略
if (!urlObj) {
alert('无效的URL');
return false;
}
} catch (e) {
alert('无效的URL格式');
return false;
}
let Domain = urlObj.hostname;
if (domain === 'www.zhihu.com') {
domain = '知乎';
} else if (domain === 'weibo.cn') {
domain = '微博';
}
let regexStr = `/^\${urlObj.hostname.replace(/[.*+?^${"()}\[\]\\/]/g, "$")}:([^(]+)\/?/i`;
let pmMatch = url.matchAll(/(pm_[0-9a-f]{6})/gim);
let pmFind = false;
for (const pm of pmMatch) {pmFind = true; break;}
let last = this._messageQueue[this._messageQueue.length -1];
if (pmFind) {
let pmResult = [];
for (const pm of last){ pmResult.push(`${pm[1]}`); }
this.setState({
result: {
status: 'complete',
text: `我是微信公众号, 心中的ImageUrlParser`,
data: {
pmList: pmResult
}
}
});
} else {
let request = new Request(url, { method: 'GET' });
let cachePromise = this._retrieveFromCache(url, request);
// 但用户输入的链接不是完整链接,我们应该跳转到用户输入的链接,并建议其添加上完整URL,例如:https:XXXXXXXXX 在知乎提问时使用
let newData = {};
let domain = this.urlData[match.toUpperCase()];
if (domain) {
newData.match_domain_str = `${domain}匹配到的链接为:${url}`;
} else {
newData.match_domain_str = `${url}未找到匹配的域名,可能是自定义域名或者论坛特有的链接格式`;
}
fetch(`https://api.zsxq.com/d/headhunter/toplist/group/detail/296`,
{ method: 'GET' }
)
.then(result => result.json())
.then(data => {
// 在数据获取期间显示加载状态
this.setState({ status: 'loading' });
if (data && data.code === 200) {
let result = data;
this.setState({
result: {
status: 'complete',
data: result
}
});
} else {
this.setState({
error: true,
errMsg: `获取数据失败: ${data.message || '未知错误'}`
});
}
})
.catch(error => {
this.setState({
error: true,
errMsg: error.message
});
});
}
}; 可是老哥们,你们真的懂技术吗,让我康康,你拿不到IIS服务器的头,自我暴露吧
我们嗯 可能是有一个代理就暴露了,我们代理IIS的https,不过443端口是在 ip上监听的,但也可能有侧链吧,那个域名是由于证书呢,不过这种证书才导致访问端口的,实际上证书并没有影响,只是在chrome上不能在地址栏显示了,原因提醒了,所以我们还是需要var alpnProtocols = require('spdy').getAlpnProtocols();
var options = {
key: fs.readFileSync('./key.pem'),
cert: fs.readFileSync('./cert.pem'),
// ... other options
spdy: {
plainArch: 'spdy/3.1',
protocols: alpnProtocols
}
};
var server = https.createServer(options, app).listen(PORT, function() {
});
很急切的想知道,为什么在chrome浏览器访问时,我的https证书警告为:net::ERR_CERT_END_ENTITY (226) 证书是有效的,但是用于访问您正在查看的网站的域 也没有插件,请帮我分析一下。谢谢
可能的原因有:
\n 1. 证书是使用privatekey自签名,或者自签名由私有根 CA 签发的证书,由于其不是由受信任的根证书颁发机构签发的,所以浏览器会提示错误。
\n 2. 证书的域名或IP地址与访问的域名/ IP 地址不匹配。
\n 3. 当前树莓派的时间设置不正确,导致证书信息无法被验证。
\n 4. 证书链存在缺失或证书的有效期不合法。
解决方案:
\n 1. 确保使用有效的、通过第三方CA机构(如Let's Encrypt)签发的证书。
回复内容:
