인디 버리고 ICS를 시도해보실거면...
그 사이에 curl 한 번 써보시는것도 추천드립니다.
http://curl.haxx.se/
빌드된 바이너리는 대충 이거 줏어서 쓰시구요
http://curl.haxx.se/gknw.net/7.40.0/dist-w32/curl-7.40.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32.zip
델파이/파스칼 바인딩도 배포되고 있습니다.
http://curl.haxx.se/libcurl/pascal/
우리 사이의 대표적인 https 사이트인 델마당에 접속하는 경우는 대충 다음과 같이...
function curl_data_callback(stream: Pointer; size, nmemb: size_t; userdata: Pointer): size_t; cdecl;
var
str: AnsiString;
begin
SetLength(str, size * nmemb);
System.Move(stream^, str[1], size * nmemb);
PAnsiString(userdata)^ := PAnsiString(userdata)^ + str;
Result := size * nmemb;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
URL: AnsiString;
hCurl:pCurl;
RetStr: AnsiString;
begin
hCurl:= curl_easy_init;
if ( hCurl <> nil ) then
begin
URL := 'https://www.delmadang.com/';
// stdout 에 장황한 설명을 표시.
//curl_easy_setopt(hCurl, CURLOPT_VERBOSE, true);
curl_easy_setopt(hCurl, CURLOPT_URL, PAnsiChar(URL));
// 압축해서 받을때는 이렇게. (델마당은 해당없음)
curl_easy_setopt(hCurl, CURLOPT_ENCODING, 'gzip,deflate');
curl_easy_setopt (hCurl, CURLOPT_FOLLOWLOCATION, true);
curl_easy_setopt(hCurl, CURLOPT_SSL_VERIFYPEER, false);
curl_easy_setopt(hCurl, CURLOPT_TIMEOUT, 30);
curl_easy_setopt(hCurl, CURLOPT_WRITEFUNCTION, @curl_data_callback);
curl_easy_setopt(hCurl, CURLOPT_WRITEDATA, @RetStr);
curl_easy_perform(hCurl);
curl_easy_cleanup(hCurl);
WriteLn('------------------');
WriteLn('Received Data: ');
WriteLn(RetStr);
end;
end;
post 로 던질때는
curl_easy_setopt(hCurl, CURLOPT_POST, true);
이렇게 옵션 켜주신다음 필드 문자열 "id=어쩌구&ps=저쩌구" 를 이렇게 던져주면 됩니다.
curl_easy_setopt(hCurl, CURLOPT_POSTFIELDS, PAnsiChar(FieldStr));
첫눈 님이 쓰신 글 :
: 먼저 답변 주심에 대해 감사드립니다.
:
: 제가 지금 개발하고 있는 프로그램은 말씀드린 바와 같이 웹페이지를 분석하여 데이터를 가져오기 위한 것입니다.
:
: 하나의 사이트에서만 데이터를 가져오는 것이 아니고 모두 11개 홈페이지의 데이터를 가져와 집계하고 있는데요.
: 물론 11개 홈페이지는 각각 다른 사이트이고 모두 https에 로그인 하는 사이트입니다.
: 처음 개발하였을때는 11개 페이지 모두 이상없이 데이터를 가져올 수 있었습니다.
:
: 하지만 몇개월간 이상없이 잘 쓰던 프로그램이 갑자기 어느 특정 사이트에서 데이터를 가져오지 못하는 증상이 나타났습니다.
: 해당 사이트 이외에 다른 10개 사이트는 정상이구요.
:
: 문제가 된 사이트에 크롬웹브라우저로 접속하며 해더를 분석해 보면 달라진 것이 전혀 없습니다.
: 겉으로 보기에는 홈페이지 개편을 한 것 같지는 않구요.
: 물론 서버를 직접 볼 수 없으니 내부사정은 알지 못합니다.
:
: 어쩔 수 없이 문제가 된 웹사이트의 로그인 부분만 VB와 JAVA로 만들어 테스트를 해보니 전혀 이상없이 로그인이 되고
: 유난히 델파이에서만 이런 증상이 나타납니다.
:
: 지금 2개월 이상을 아무 일도 하지 못하고 이 문제만 잡고 있는데
: 저로써는 더 이상 시도해 볼만한 것이 없습니다.
:
: 차라리 이럴 바엔 VB나 JAVA로 다시 개발할까도 생각을 하고
: VB로 개발을 해 보니 VB에서는 또 다른 사이트 하나가 동일한 문제로 해결이 되지 않아 포기했구요.
:
: JAVA로 개발을 해 볼까 했으나 JAVA로 개발하기 위해서는 SWING로 해야 하고
: 잡다한 이벤트핸들러에 대한 정보가 없어 개발을 시도하다 포기했습니다.
:
: 사실 전 도스시절에 개발을 해봤을 뿐
: 윈도우가 나온 이후에는 개발에서 손을 뗀지라
: 윈도우 프로그래밍에 대한 이해도 없고
: 다만 그때 그때 필요한 소스코드들을 인터넷에서 찾아 오려붙여가며 개발을 하는 정도라
: 뭐하나 개발한다는 것이 여간 어려운게 아니거든요.
:
: 그래서 제가 생각하지 못한 부분이 있지 않나 하여 질문을 드렸는데요.
:
: 혹시라도 제가 테스트해보아야 할 것을 놓힌 것이 있거나 어떤 실마리라도 있다면 알려주시면 감사하겠습니다.
:
: 로그인 아이디가 제것이 아니고 개발을 위해 빌려서 사용하는 것이라
: 만일 도움을 주실 수 있다 하시면
: 양해를 구하여 아이디와 암호를 개인적으로 알려드릴 수도 있을듯 합니다.
:
: 말씀해주신 ICS컴포넌트에 대해서는 검토를 해보도록 하겠습니다.
:
: 다시한 번 답변 감사드립니다.
:
: