ex. http://211.238.15.54/~somekal/ajax/idx.php
다음(daum)에서 실시간 검색어 예제입니다.
4대 사이트 - <네이버, 다음, 엠파스, 야후> 에서 제일 이쁜놈으로 협찬받았습니다 ㅡㅡ;
키보드+마우스 완벽지원! 고광택 칼라(?), 깔끔한 소스
:: 데모사이트 → http://211.238.15.54/~somekal/ajax/idx.php
idx.php .... 시작파일
ajax_suggest.php ... 검색어 리스팅
ajax_query.php ... 검색어 조회 xml 페이지
그냥 거의 날로도 드실 수 있게 약간 편집해 놨습니다 ㅡㅡ;
ajax_suggest.php에서 '요기'라는 단어를 찾으면 쉽게 수정가능합니다.
훌륭한 소스를 만드신 다음(daum) 개발자님께 다시 한번 감사드립니다.
** 다음(daum)에서 컨닝한 사이트입니다. ***
daumtop_suggest.html ... 검색어 리스팅 페이지
http://sug.search.daum.net/top_nsuggest?q=홍 ... 검색어 조회 xml 페이지
** 후기 **
검색어 리스팅 페이지를 왜 아이프레임으로 따로 처리했나 궁금했는데
Ajax에서는 서브-도메인도 틀리면 안먹더라구요 ㅡㅡ;
ps. 본 예제를 올릴 수 있게 서버를 분양해 주신 '우하루'님께 감사드립니다 ^^
ps. 아래 소스 수정해 주세요. ㅡㅡ; (ajax_suggest.php)
.daum.net으로 고정이 되었네요 ㅡㅡ;
function setCookie(name, value, expire) {
var expire_date = new Date(expire)
document.cookie! = name + "=" + escape(value) + "; path=/; expires=" + expire_date.toGMTString(); // + "; domain=.daum.net";
}
------------------------------------------------------------------------------------
ajax_query.php 파일을 아래와 같이 수정하세요.
다음(daum)꺼 소켓으로 퍼왔슴다 ㅡㅡ;
---------------------------------------------------------------------------------------
<?
function sock_post($host, $target, $posts, $cookies, $referer='', $port=80) {
if(is_array($posts)) {
foreach($posts AS $name=>$value) $postValues .= urlencode($name) . "=" . urlencode($value) . '&';
$postValues = substr($postValues, 0, -1);
}
$postLength = strlen($postValues);
if(is_array($cookies)) {
foreach($cookies AS $name=>$value) $cookieVal!ues .= urlencode($name) . "=" . urlencode($value) . ';';
$cookieVal!ues = substr($cookieVal!ues, 0, -1);
}
$request = "POST $target HTTP/1.1\r\n";
$request .= "Host: $host\r\n";
$request .= 'User-Agent: Mozilla/4.0\r\n';
$request .= 'Accept: text/xml,application/xml,application/xhtml+xml,';
$request .= 'text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,';
$request .= "image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n";
$request .= "Content-Type: application/x-www-form-urlencoded\r\n";
if ($cookies) $request .= "Cookie: $cookieVal!ues\r\n";
if ($referer) $request .= "Referer: $referer\r\n";
$request .= "Content-Length: " . $postLength . "\r\n";
$request .= "Connection: close\r\n";
$request .= "\r\n";
$request .= $postValues;
$ret = '';
$socket = fsockopen($host, $port, $errno, $errstr, 100);
fputs($socket, $request);
while(!feof($socket)) $ret .= fgets($socket, 4096);
fclose($socket);
return $ret;
}
$posts = array(); // 포스트
$cookies = array(); // 쿠키
$referer = ""; // 리퍼러
$host = "sug.search.daum.net"; // 호스트
$page = "/top_nsuggest?q=".urlencode($_GET['q']); // 페이지
$buff = sock_post($host, $page, $posts, $cookies, $referer, 80);
$data = strstr($buff, '<?xml');
header("Content-Type: application/xml; charset=euc-kr");
echo $data;
?>
'인터넷정보' 카테고리의 다른 글
이미지 슬라이드쇼 (0) | 2007.10.13 |
---|---|
이미지 슬라이드쇼 (0) | 2007.10.13 |
폼에대한 142가지의 다양한 js 소스 (0) | 2007.10.13 |
폼에대한 142가지의 다양한 js 소스 (0) | 2007.10.13 |
실시간검색어 예제 - 다음(daum) 스타일 (0) | 2007.10.13 |
자바스크립트로 구현한 md4,md5,sha-1 (0) | 2007.10.13 |
자바스크립트로 구현한 md4,md5,sha-1 (0) | 2007.10.13 |
프레임 경계선을 넘나드는 createPopup() (0) | 2007.10.13 |
프레임 경계선을 넘나드는 createPopup() (0) | 2007.10.13 |
지정된 영역에서 각 레이어 간의 이동 효과(구글,야후) (0) | 2007.10.13 |