2013-10-15 2 views
0

java가있는 별도의 서버에서 ASP 페이지의 정보를 얻으려고합니다.HTTP를 통한 데이터 액세스

<%@ page contentType="text/html;charset=UTF-8"%> 
<%@ page import="java.util.*" %> 
<%@ page import="java.text.*" %> 
<%@ page import="java.net.*" %> 
<%@ page import="java.io.*" %> 
<%@ page import="com.nse.common.text.*" %> 
<%@ page import="com.nse.common.admin.*" %> 
<%@ page import="com.nse.common.util.*" %> 
<%@ page import="com.nse.common.config.*" %> 
<%@ page import="com.nse.ms.*" %> 
<% 

     String targetUrl = "http://******/dash_auth/getmsuser.asp"; 
     InputStream r2 = new URL(targetUrl).openStream(); 

%> 

<html> 
<head> 
    <title>get username</title> 
</head> 

<body> 
Return Info = <%=r2%> 
</body> 
</html> 

을 그리고 이것은 내가 다시이 아닌이 연결 문자열을 사용자 이름을 얻을 수 있었으면하고

Return Info = [email protected]f555 

내가 다시 얻고 무엇을 : 여기

나는 현재 코드를 실행하고 있는지. 내 다른 페이지의 실제 출력을 얻는 방법에 대한 제안은 매우 유용 할 것입니다!

답변

2

<%=r2%>을 입력하면 out.print(r2.toString())이 표시되며 이는 의 인스턴스에만 적용됩니다.

서버 결과를 얻으려면 InputStream에서 읽는 방법을 사용하십시오.

+0

소리가 충분히 쉽습니다. 나는 Java를 처음 사용합니다. read() 메서드를 사용하면 어떻게 될까요? –

+0

"입력 스트림에서 내용 읽기"에 대한 예제가 많이 있습니다. – SJuan76

1

InputStream에서()를 읽어야합니다.

+0

소리가 충분히 쉽습니다. 나는 Java를 처음 사용합니다. read() 메서드를 사용하면 어떻게 될까요? –

+0

IntputStream 사용 방법에 대한 자세한 내용은 http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html 을 참조하십시오. – coyote

-1

http 클라이언트를 사용하여 연결을 만들고 콘텐츠를 다시 가져와야합니다. 또는 컬 (curl)과 같은 OS 유틸리티에 시스템 호출을하십시오.

public class URLStreamExample { 

public static void main(String[] args) { 
    try { 
     URL url = new URL("http://www.google.com"); 
     InputStream is = url.openStream(); 
     byte[] buffer = new byte[2048]; 
     StringBuilder sb = new StringBuilder(); 
     while (is.read(buffer) != -1){ 
      sb.append(new String(buffer)); 
     } 

     System.out.println(sb.toString()); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. 
    } catch (IOException e) { 
     e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. 
    } 
} 

}

: 여기

당신이 관리되지 않는 방법으로 그것을 수행 할 경우 HTTP 클라이언트

http://hc.apache.org/httpclient-legacy/tutorial.html

을 사용하는 방법에 대한 예제입니다,이 동작하는 예제입니다

+1

(완벽하게 기능하는) Java API를 사용할 수없는 이유는 무엇입니까? 그리고 그것을 위해 새로운 프로세스를 만드는 시스템 호출을하는 것이 좋습니다. – SJuan76