블로그이야기
ASP에서 트랙백 보내기
TIGERJUNE
2005. 3. 3. 12:37
1.Post 작성시 DB insert 처리부분에 Form에서 track_back(트랙백)이 있다면 아래 스크립트를 실행하도록 처리한다. 물론 이전단계에서 해당 URL의 무결성 검사를 해주는것이 좋겠다. 존재하는주소인지, 죽은 서버 주소는 아닌지 등등 <SCRIPT LANGUAGE=JavaScript>document.domain = "sizz.net";</SCRIPT> <SCRIPT LANGUAGE="JavaScript"> function trb_ping(form) { form.submit(); } </SCRIPT> <FORM NAME=trbform METHOD=POST ACTION="/tb/tb_post.asp"> <INPUT TYPE=HIDDEN NAME=b_idx VALUE="<%=b_idx%>"> <INPUT TYPE=HIDDEN NAME=title VALUE="<%=title%>"> <INPUT TYPE=HIDDEN NAME=track_back VALUE="<%=track_back%>"> <INPUT TYPE=HIDDEN NAME=content VALUE="<%=excerpt%>"> <INPUT TYPE=HIDDEN NAME=blog_name VALUE="<%=blog_name%>"> </FORM> <SCRIPT LANGUAGE="JavaScript"> setTimeout("trb_ping(document.trbform)","500"); </SCRIPT> 2.tb_post.asp tb_post.asp에서 위의 값들을 받아서 해당 URL로 트랙백을 날리고, 리턴 에러값에 따라서 에러 처리를 한다. <% on Error Resume Next b_idx=request.form("b_idx") B_URL=Request.ServerVariables("SERVER_NAME") m_url=Server.URLEncode("http://"&B_URL&"/B_Archive.asp?b_idx="&b_idx) title=Server.URLEncode(request.form("title")) excerpt=Server.URLEncode(request.form("content")) blog_name=Server.URLEncode(request.form("blog_name")) track_back=request.form("track_back") Str_tb="title="&title&"&url="&m_url&"&excerpt="&excerpt&"&blog_name="&blog_name set xml = server.CreateObject("Microsoft.XMLHTTP") xml.open "POST", "" & track_back & "", false xml.setRequestHeader "Content-Type","application/x-www-form-urlencoded" xml.send (Str_tb) Set objDom=Server.CreateObject("Microsoft.XMLDOM") objDom.async=false objDom.load(xml.responsebody) Set objNode=objDom.documentElement.SelectSingleNode("error") error_m=objNode.text set xml = nothing Set objNode=nothing Set objDom=nothing response.write error_m if error_m=1 or error_m="" then '실패 response.redirect "/B_Edit.asp?b_idx="&b_idx&"&tb_e=0" else response.redirect "/bdefault.asp" end if %> | |
2004-01-26 오후 2:51:32 |