2015-01-15 2 views
0

들어오는 요청을 수신하는 nodejs 앱이 있습니다. Java 프로그램을 사용하여 나머지 링크를 호출합니다. NodeJS 앱에 데이터를 보내려고합니다. 문자열이 한 단어 인 경우 작동합니다. 그러나 내 문자열이 충분히 길거나 특수 문자가 포함되어 있으면 오류가 발생하여 실패합니다.문자열을 nodejs 앱에 보내려고하는 Java 프로그램 Rest API 링크

적어도 100 - 200 자 이상의 특수 문자와 크기를 포함 할 수있는 문자열을 보내려면 최선의 선택이 될 수 있습니까?

java.net.MalformedURLException: Illegal character in URL 
     at sun.net.www.http.HttpClient.getURLFile(HttpClient.java:583) 
     at sun.net.www.protocol.http.HttpURLConnection.getRequestURI(HttpURLConnection.java:2298) 
     at sun.net.www.protocol.http.HttpURLConnection.writeRequests(HttpURLConnection.java:513) 

자바 기능을 사용하면 인코딩를 URL로 필요

app.get('/data/:STMT_TEXT', function (req, res) { 

var STMT_TEXT = req.params.STMT_TEXT; 
console.log(STMT_TEXT); 

     res.send("Done"); 
});  

답변

0

(자바 응용 프로그램에서 들어오는 데이터를 수신 나머지 API를 링크) 나머지 링크에

public void sendDataToNodeJSApp(String create="Creating service APP in org [email protected]/space Testing as [email protected]"){ 

     URL url; 

     try { 
      // get URL content 

      String a="http://xyz/data/"+create; 
      url = new URL(a); 
      URLConnection conn = url.openConnection(); 

      // open the stream and put it into BufferedReader 
      BufferedReader br = new BufferedReader(
           new InputStreamReader(conn.getInputStream())); 

      String inputLine; 
      while ((inputLine = br.readLine()) != null) { 
        System.out.println(inputLine); 
      } 
      br.close(); 

      System.out.println("Done"); 

     } 

    } 

NodeJS를 데이터를 전송하기 끈. http://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html

을 참조하십시오.