我正在用 java 编写一个小程序,它对端点进行休息调用以验证参考 ID。我用两种不同的方式编写了这个程序,当我从我的 PC 上运行它时,每种方式都可以工作,但是当我在测试中部署 jar 文件时Linux CentOs Server,我403 forbidden error从终点得到了一个,所以我想可能是 ip 被阻止了,然后我尝试curl 也是一样,而且效果很好。
可能是什么问题?可能是ssl证书版本错误吗?
方式一:
public String sendGet(String id) {
restTemplate = new RestTemplate();
log.info("Authorization :::: {}", "Bearer " + this.getApiAuth());
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + this.getApiAuth());
List<MediaType> acceptableMediaTypes = new ArrayList<>();
acceptableMediaTypes.add(MediaType.APPLICATION_JSON);
headers.setAccept(acceptableMediaTypes);
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> httpRequestEntity = new HttpEntity<>(headers);
ResponseEntity<String> exchange = getRestTemplate().exchange(this.getUrl() + id, HttpMethod.GET, httpRequestEntity, String.class);
log.info("Status Code :::: {}", exchange.getStatusCode());
log.info("Status Code :::: {}", exchange.getBody());
return …Run Code Online (Sandbox Code Playgroud) 我正在使用 FCM 来处理通知,它工作得很好,直到我需要从firebase-messaging-sw.js我的网络应用程序在后台更新我的 UI 时。
我的第一个问题是:是否可以通过 Service Worker 在后台更新我的 Web 应用程序 UI(当用户不专注于 Web 应用程序时)
其次,如果是这样,怎么办?因为我尝试了一些方法,但它不起作用,显然我做错了什么,当它起作用时,我的网络应用程序位于前台。我究竟做错了什么?
我的代码如下。
my-firebase-service-sw.js
// [START initialize_firebase_in_sw]
// Give the service worker access to Firebase Messaging.
// Note that you can only use Firebase Messaging here, other Firebase
libraries
// are not available in the service worker.
importScripts('https://www.gstatic.com/firebasejs/4.1.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/4.1.1/firebase-messaging.js');
// My Custom Service Worker Codes
var CACHE_NAME = 'assembly-v0.1.3.1';
var urlsToCache = [
'/',
'lib/vendors/bower_components/animate.css/animate.min.css',
'lib/vendors/bower_components/sweetalert/dist/sweetalert.css',
'lib/css/app_1.min.css',
'lib/css/app_2.min.css',
'lib/css/design.css'
];
var myserviceWorker;
var servicePort;
// …Run Code Online (Sandbox Code Playgroud)