입니다. 아래는 위의 내용이 실수로 유실되었을때의 대비로 복사해둔것입니다^^;
뭔가 길게 매뉴얼을 적어보려고 했는데 필이 잘 안와서 생략합니다-_- 필요하신 분이라면 소스만 봐도 아실거라고 생각해요;
원격 http 서버에 접속해서 리퀘스트를 보내고 응답을 받고 하는 클래스인데 특징은 접속 끊기면 재접속하고, 쿠키 지원으로 로그인도 가능하다는 정도.. 원격의 파일을
setTarget()으로 지정해주고
getBody()로 내용을 뽑아다 파일로 저장하는 것도 잘 되더군요.
일단 접속시키고,
setTarget() 해주고, 보낼 POST 데이터가 있으면
setPost() 해주고, 추가시키거나 수정해야될 헤더가 있으면
setHeader() 해주고
sendData() 해주면 리퀘스트를 보내고 응답을 받아 변수에 저장합니다. 본문은
getBody()로 꺼내쓰면 되고 헤더나 쿠키값이 필요하면
$receive,
$cookie 변수에 직접 접근해서 꺼내쓰면 됩니다.
맨 끝의
extString() 함수는 문자열중에서 문자열 뽑아내기 쉬우라고 만든건데
extString("abc123abc456abc",
"abc",
"abc",
1) 하면 123이 튀어나오고
extString("abc123abc456abc",
"abc",
"abc",
2) 하면 456이 튀어나옵니다.
사용 예 (1) : 태터에 로그인해서 RSS 몽땅 업데이트
include "http.php";
set_time_limit(0);
$host = "your.host.com";
$pass = "tatter_password";
$rss = new http($host, 80);
$rss->debug = 1;
$rss->setTarget("/admin/login.php");
$rss->setPost("mode=login&requri=%2Fadmin%2Freader_collect.php&s_user_pass2=$pass");
$rss->sendData();
$rss->setTarget("/admin/reader_collect.php");
$rss->sendData();
$buff = split("<option value="", $rss->getBody());
for ($i=1; $i<sizeof($buff); $i++)
{
$num = substr($buff[$i], 0, strpos($buff[$i], """));
$rss->setTarget("/admin/reader_collect_exe.php?num=$num");
$rss->sendData();
}
$rss->close();
사용 예 (2) : 웃긴대학 웃긴자료 RSS 만들기 [ 다운로드 ]
사용 예 (3) : PHPSCHOOL TIP&TECH RSS 만들기 [ 다운로드 ]
첫번째 예제에서 보시는 것 처럼
$debug 변수를 1로 세팅하면 왔다갔다 하는 데이터들을 화면에 다 찍어줍니다. 집에서 이런저런 용도로 꽤 오랫동안 테스트를 해봤는데 보시다시피 에러에 대응하는 코드가 전혀 없는 관계로 최악의 경우 아파치가 뻗어버리기도 합니다; 나중에 필요하게 되면 파일 업로드라던가 잡다한걸 추가시켜 볼 수도 있겠지만 요정도만 돼도 게시판에 로그인해서 내용이랑 사진들 긁어오는 코드는 무난할 듯..
댓글을 달아 주세요
내용이 어딨나
2초가량
멈칫했음.
이건 그냥 클리핑수준의 게시물인걸ㅋ