小编Lab*_*beo的帖子

错误:无法验证nodejs中的第一个证书

我正在尝试使用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)

jira ssl-certificate node.js

105
推荐指数
9
解决办法
18万
查看次数

获取请求不会通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头

我正在尝试从我的应用程序向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)

javascript ajax

57
推荐指数
2
解决办法
23万
查看次数

evt.preventDefault在IE和Edge鼠标移动事件中不起作用,甚至尝试过evt.returnValue = false; 但没有阻止传播

我有一个相当大的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)

javascript events preventdefault stoppropagation reactjs

11
推荐指数
1
解决办法
675
查看次数

错误在tomcat上部署期间无法找到密钥log4j.appender.error的值

如果我右键单击服务器并运行在服务器上运行我的代码工作正常,但当我尝试在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)

java tomcat maven

7
推荐指数
1
解决办法
4万
查看次数

获取HTTP状态400 - 必需的MultipartFile参数'file'在spring中不存在

我正在尝试使用上传文件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)

java spring file-upload

7
推荐指数
1
解决办法
2万
查看次数

为什么我们无法从java中的RequestBody获取文件数据?

我正在尝试将文件上传到服务器,所以我试图使用@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)

file-upload spring-mvc

7
推荐指数
2
解决办法
7071
查看次数

错误:在TCPConnectWrap.afterConnect上的exports._errnoException处连接ECONNREFUSED

我试图使用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)

ssl openssl node.js handshake starttls

6
推荐指数
1
解决办法
4220
查看次数

对于JdbcTemplate类型,方法queryForInt(String)是未定义的

我正在尝试执行一个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 spring spring-jdbc jdbctemplate maven

5
推荐指数
1
解决办法
6248
查看次数

引起:javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:java(spring)中没有可用的X509TrustManager实现

我正在尝试验证服务器,我有服务器证书,并且我已经创建了密钥存储和信任存储。代码中的静态模板发生异常,我不明白错误是什么,我在网上搜索过,但没有找到解决方案

我的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)

java ssl spring maven

5
推荐指数
1
解决办法
2万
查看次数

在Spring MVC中无法验证目标证书的异常

我试图使用我的用户名和密码从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 validation ssl spring spring-mvc

4
推荐指数
1
解决办法
2万
查看次数