首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理CSP错误

处理CSP错误
EN

Stack Overflow用户
提问于 2017-10-29 03:03:11
回答 1查看 197关注 0票数 0

我正在编写一个客户端程序,通过HTTP/HTTPS连接到一个网站。该程序首先尝试使用HTTPS连接到服务器。但是,在收到响应状态代码301之后,每当有301时,我就尝试使用HTTP处理请求,向HTTP服务器发出新的请求。与通常使用数据的方法一样,我使用http.get()的on方法在http.clientRequest ()的' data‘事件上添加了一个侦听器回调。但是,控制台输出中没有数据。我怀疑这是由于我收到的以下CSP标题与请求有关:

消息标题:

内容类型: text/html;charset=UTF-8

地点:http://www.whoscored.com/

服务器:Microsoft/8.0

严格运输安全:最大年龄=16070400

内容-安全-策略:框架-祖先*.whoscored.com;升级-不安全-请求;

X-内容-安全-策略:框架-祖先*.whoscored.com;升级-不安全-请求;

日期:2017年10月29日,太阳02:44:33格林尼治时间

连接:关闭

内容长度: 148

记录数据:

守则如下:

代码语言:javascript
复制
Https.get(options, (res: Http.IncomingMessage): void => {
  logger.log('HTTPS Client for ScrapeX');
  logger.log('-------------------------');
  logger.logHeaders(res.headers);
  switch(res.statusCode) {
      case 200:
          (() => {
              //
              logger.log('The connection was established successfully');

          })();
          break;
      case 301:
          (() => {
              // fallback to http
              let buf = '';
              httpClient((res1) => {
                  logger.log('HTTP Client');
                  logger.log('----------------');
                  logger.logHeaders(res1.headers);
              }, n_options)
              .on('error', (err) => {
                  logger.log('Error: ' + err.message);
                  logger.printStack(err);
              })
              .on('data', (chunk: string): void => {
                  buf += chunk;
              })
              .on('close', () => {
                  logger.log('Logging the data: ');
                  logger.log(buf);
              });
          })();
          break;
  }
})
.on('error', (err) => {
  logger.log(err.message);
  logger.log(err.stack);
})
.on('close', () => {
  logger.log('Connection closed');
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 15:44:30

您无法使用HTTP连接到该服务器,这是您的问题;它同时使用upgrade-insecure-requests,更重要的是使用strict-transport-security。任何尊重strict-transport-security的浏览器都会拒绝通过不安全的HTTP进行连接。

在这种情况下,您不能在HTTP中重试,或者至少,它总是会给出一个错误,或者只是重定向到HTTPS。

CSP不应该是一个真正的问题,这是为了加载其他资源,而在该页面上,它并不阻止人们下载该页面的第一。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46996452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档