Q&A

  • 소켓 통신...
다름이 아니오라 자바와 델파이를 인터페이스해서 사용하고 있는데요.
검사하는 모듈은 자바 GUI기반으로 되어 있구요, 보고서와 통계쪽은 델파이로
되어있거든요. 그런데 검사하는 모듈을 자바에서 델파이로 포팅을 해보려고 하거든요. 어짜피 HTTP는 스펙이 정의 되어있으니까 원리는 같을거라고 생각되네요.

만약 보고싶은 페이지가 "http://www.delphi.co.kr/index.php"이라면
www.delphi.co.kr 의 80번 포트를 열어서

GET / HTTP/1.0#13#10#13#10

이런 식으로 직접 데이터를 보내서 웹페이지의 헤더 정보와 컨텐트를 가지고
오는 거거든요. 그런데 기본적인 소켓에 대해서는 자세한 내용이 나오지 않은 것 같아서 선각자님들의 도움을 요청합니다.

그리고 또 하나는 HTTPS프로토콜을 사용하려면 어찌해야할까요?
자바에서는 SSL을 사용할 수 있는 API가 따로 있던데 델파이에도
API나 Library가 있나요?

서버에 소켓을 통해 데이터를 주면 아래와 같은 정보를 서버로부터 얻어야합니다.

//이것은 헤더 정보이구요
HTTP/1.1 200 OK
Date: Fri, 15 Mar 2002 13:49:46 GMT
Server: Apache/1.3.22 (Unix) PHP/4.1.0
Last-Modified: Fri, 04 Jan 2002 10:15:11 GMT
ETag: "17ce9-42c-3c3580af"
Accept-Ranges: bytes
Content-Length: 1068
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html

//이것은 페이지 소스입니다.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>한국 델파이 개발자 홈페이지</title>
<meta name="generator" content="Namo WebEditor v3.0">
<style><!--
.leading200 { line-height: 200% }
.leading180 { line-height: 180% }
.leading150 { line-height: 150% }
.leading100 { line-height: 100% }
-->
</style>
</head>

<script>
  if( self != top ) top.location.replace( "http://www.delphi.co.kr" );
</script>


<frameset rows="51, 88%" cols="1*" border="0">
    <frame src="toppest.htm" name="header" scrolling="no" marginwidth="0" marginheight="0" namo_target_frame="contents">
    <frameset rows="1*" cols="120, 85%">
        <frame src="hdmenu.php" name="contents" noresize scrolling="no" marginwidth="10" marginheight="5">
        <frame src="detail.php" name="detail" scrolling="auto" marginwidth="10" marginheight="14">
    </frameset>
    <noframes>
    <body bgcolor="white" text="black" link="blue" vlink="purple" alink="red">
    <p>이 페이지를 보려면, 프레임을 볼 수 있는 브라우저가 필요합니다.</p>

</body>
</noframes>
</frameset>
</html>

델파이도 서버와 소켓을 통해서 직접 Interactive하게 통신할 수 있는 방법이
있겠죠?
페이지 소스는 어떻게 해볼 수 있는데 헤더정보는 얻어올 수 있는 방법이 있나요?

궁금해 미티겠습니다.
고수님들 답변 좀 부탁드립니다.
2  COMMENTS
  • Profile
    Mr. Ziker 2002.03.16 09:11
    안녕하세욤...

    FastNet 컴포넌트들 중에 (델파이 초기 설치시 포함되어 있음)

    NMHTTP  컴포넌트를 쓰시면 헤더 정보를 볼 수 있습니다.
    예제도 Demos폴더 안에 있으니 참고 하시길 바랍니다.

    그럼~



  • Profile
    유창원 2002.03.16 09:40
    감사감사 무지하게 간단하네요.
    이 방법으로는 테스트 해보니 잘되네요. 감사합니다.
    그런데 아마 NNHTTP도 내부적으로는 소켓을 사용하겠지요?
    직접 소켓으로 데이터를 보낼 방법은 없는지요? ^^