我正在尝试使用url从jira服务器下载文件,但是我收到了一个错误.如何在代码中包含证书以验证 错误:
Error: unable to verify the first certificate in nodejs
at Error (native)
at TLSSocket.<anonymous> (_tls_wrap.js:929:36)
at TLSSocket.emit (events.js:104:17)
at TLSSocket._finishInit (_tls_wrap.js:460:8)
Run Code Online (Sandbox Code Playgroud)
我的Nodejs代码:
var https = require("https");
var fs = require('fs');
var options = {
host: 'jira.example.com',
path: '/secure/attachment/206906/update.xlsx'
};
https.get(options, function (http_res) {
var data = "";
http_res.on("data", function (chunk) {
data += chunk;
});
http_res.on("end", function () {
var file = fs.createWriteStream("file.xlsx");
data.pipe(file);
});
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试从我的应用程序向Tomcat服务器发送Ajax请求,但是我收到此错误(我的Web应用程序在Chrome上运行):
对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.因此不允许原点'null'访问.响应具有HTTP状态代码403.
我试过用
'Access-Control-Allow-Origin' : 'http://localhost:8080/app',
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我的Ajax代码:
var arr = [1];
$.ajax({
url: 'http://localhost:8080/app',
type: 'POST',
contentType:'application/json',
headers: {
'Access-Control-Allow-Origin' : 'http://localhost:8080',
},
data: JSON.stringify(arr[0]),
success: function(data){
//On ajax success do this
alert(data);
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个相当大的div.在尝试调整大小的同时,整个页面都被选中了蓝色,即使我不打算在iE和Edge中.我尝试过在网上显示的许多解决方案但没有任何效果.以下是我的代码.鼠标移动时,我无法阻止事件的默认操作.我正在监听ownerDocument上的鼠标移动事件.
下面的代码在chrome和mozilla中按预期工作
我在控制台中通过检查evt变量看到,在停止传播之前防止默认为真,停止传播后防止默认为false.与谷歌chromes行为相同,但仍然不明白为什么整页被选中
反应代码:
<div className="resizer"
tabIndex={-1}
onMouseDown={this.MouseDown}
/>
private MouseDown(evt: any) {
this.viewState.resizing = true;
const {ownerDocument} = ReactDOM.findDOMNode(this);
ownerDocument.addEventListener('mousemove', this.MouseMove);
ownerDocument.addEventListener('mouseup', this.MouseUp);
this.setState(this.viewState);
}
private MouseMove(evt) {
this.viewState.width = width;
this.viewState.height = height;
if (evt.preventDefault) {
evt.returnValue = false;
evt.preventDefault();
}
else {
evt.cancelBubble = true;
}
this.setState(this.viewState);
}
Run Code Online (Sandbox Code Playgroud) 如果我右键单击服务器并运行在服务器上运行我的代码工作正常,但当我尝试在tomcat上部署它并尝试运行它时,它给我下面的错误
log4j.properties文件:
log4j.logger.Controller = INFO,error,stdout
log4j.logger.Client = INFO,error,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Run Code Online (Sandbox Code Playgroud)
错误:
log4j:ERROR Could not find value for key log4j.appender.error
log4j:ERROR Could not instantiate appender named "error".
log4j:ERROR Could not find value for key log4j.appender.error
log4j:ERROR Could not instantiate appender named "error".
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Run Code Online (Sandbox Code Playgroud)
pom.xml:
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.3</version>
</dependency> …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用上传文件spring.下面是我的代码我是如何工作的,但如果我尝试使用它,我得到这个response:
HTTP状态400 - 不存在所需的MultipartFile参数"file"
我不知道错误是什么.
我正在使用高级休息客户端进行测试,我将文件作为附件上传.
我的Javacode:
@RequestMapping(value = "/upload",headers = "Content-Type=multipart/form-data", method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file)
{
String name= "test.xlsx";
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
BufferedOutputStream stream =
new BufferedOutputStream(new FileOutputStream(new File(name)));
stream.write(bytes);
stream.close();
return "You successfully uploaded " + name + "!";
} catch (Exception e) {
return "You failed to upload " + name + " => " + e.getMessage();
}
} else {
return …Run Code Online (Sandbox Code Playgroud) 我正在尝试将文件上传到服务器,所以我试图使用@RequestBody获取文件的数据,但我在尝试上传文件时收到415错误代码.
所以我用Google搜索(获得上传文件的解决方案)并且知道我无法从请求正文中获取文件数据.所以我想知道为什么我们无法从请求体访问文件数据,因为数据将在HTTP请求中的请求体中发送,所以我想知道在上传文件的情况下请求是如何发生的.
我之前的服务器代码:
@RequestMapping(value = "/upload",headers = "Content-Type=multipart/form-data", method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestBody MultipartFile file)
{
}
Run Code Online (Sandbox Code Playgroud)
解:
@RequestMapping(value = "/upload",headers = "Content-Type=multipart/form-data", method = RequestMethod.POST)
@ResponseBody
public String upload(MultipartHttpServletRequest request)
{
}
Run Code Online (Sandbox Code Playgroud) 我试图使用URL链接下载文件,但我收到以下错误
扔掉 //未处理的'错误'事件
错误:在exports._errnoException(util.js:746:11)处连接ECONNREFUSED
在TCPConnectWrap.afterConnect [as oncomplete](net.js:1010:19)
我已经使用了wget url但是我正在下面
失败:连接被拒绝
有人说,对于https,我们需要一个服务器证书,并在我们对其进行身份验证时显示它,但是如何显示证书并获取文件
我用过wireshark,看到ssl握手有问题所以我已经下载了服务器的证书,所以我现在该怎么办
我的Nodejs代码
var https = require('https');
var fs = require('fs');
var file = fs.createWriteStream("file.xlsx");
var request = https.get("https://example.com/secure/attachment/206906/a-373_update.xlsx", function(response) {
response.pipe(file);
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试执行一个SQL查询并尝试在整数变量中获取它的值,但我得到一个编译时错误说
对于JdbcTemplate类型,方法queryForInt(String)是未定义的
我认为我的代码是正确的,所以我的pom文件中有问题.
我的pom.xml文件:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sql</groupId>
<artifactId>sql</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>sql</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.1.0.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
</dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)
我的app.java文件:
package sql.sql;
import java.sql.ResultSet;
import java.sql.SQLException;
//import org.springframework.jdbc.core;
import java.util.List;
import javax.sql.DataSource;
//import org.springframework.jdbc.datasource.DriverManagerDataSource;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jdbc.core.JdbcTemplate;
public class App
{
public …Run Code Online (Sandbox Code Playgroud) 我正在尝试验证服务器,我有服务器证书,并且我已经创建了密钥存储和信任存储。代码中的静态模板发生异常,我不明白错误是什么,我在网上搜索过,但没有找到解决方案
我的java代码:
org.json.JSONObject json = new org.json.JSONObject();
org.json.JSONObject root = new org.json.JSONObject();
root.put("Version", "1");
json.put("key", "test");
root.put("message", json);
System.out.println(root);
String url = "https://example.com";
App obi = new App();
obi.trustSelfSignedSSL();
System.setProperty("javax.net.ssl.keyStore", "/Users/crohitk/Desktop/spring/keystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
System.setProperty("javax.net.ssl.trustStore","/Users/crohitk/Desktop/spring/ca-certs.jks");
System.setProperty("javax.net.ssl.trustStorePassword","");
KeyStore keyStore = null;
KeyStore truststore = null;
keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
keyStore.load(new FileInputStream("/Users/crohitk/Desktop/spring/keystore.jks"),
"password".toCharArray());
SSLConnectionSocketFactory socketFactory = null;
socketFactory = new SSLConnectionSocketFactory(
new SSLContextBuilder()
.loadKeyMaterial(keyStore, "password".toCharArray()).build());
HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory).build();
ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
httpClient);
RestTemplate restTemplate = new RestTemplate(requestFactory);
String result = restTemplate.postForObject(url, …Run Code Online (Sandbox Code Playgroud) 我试图使用我的用户名和密码从jira服务器获取问题详细信息,但我收到一个ssl错误,说无法验证证书
所以如何验证证书
url:http:local/8080/frr/hello
得到错误:
嵌套异常是org.springframework.web.client.ResourceAccessException:GET请求上的I/O错误
" https://jira.example.com/rest/api/2/issue/id ":
sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径; 嵌套异常是javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到根据原因sun.security的请求目标的有效证书路径.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径
我的Service.class代码
@Controller
public class Service{
@RequestMapping("/hello")
public String Data(ModelMap model){
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<String> result = restTemplate.exchange("https://jira.example.com/rest/api/2/issue/id", HttpMethod.GET, new HttpEntity<String>(createHeaders("username", "password")), String.class);
model.addAttribute("message", result);
return "helloworld";
}
RestTemplate restTemplate = new RestTemplate();
HttpHeaders createHeaders( String username, String password ){
HttpHeaders header = new HttpHeaders();
String auth = username + ":" + password;
byte[] encodedAuth = Base64.encodeBase64(auth.getBytes(Charset.forName("US-ASCII")) );
String base64Creds = "Basic " + new String( encodedAuth );
header.add("Authorization", …Run Code Online (Sandbox Code Playgroud) java ×5
spring ×4
maven ×3
ssl ×3
file-upload ×2
javascript ×2
node.js ×2
spring-mvc ×2
ajax ×1
events ×1
handshake ×1
jdbctemplate ×1
jira ×1
openssl ×1
reactjs ×1
spring-jdbc ×1
starttls ×1
tomcat ×1
validation ×1