QQ 챗봇(QQ chatterbot)은 인간의 대화나 채팅을 시뮬레이션하는 데 사용되는 프로그램입니다. “엘리자(Eliza)”와 “패리(Parry)”는 매우 유명한 초기 챗봇입니다. 적어도 일시적으로 실제 인간이 다른 인간과 대화하고 있다고 생각하게 만드는 프로그램을 만들려고 시도합니다.
qq 채팅 로봇의 PHP 원리
include"/");
$action= preg_match("/ action=\"(.+)?\"/",$data,$matches);
$action=$matches[1];
$params=array() ;
$params["login_url"] ="/s?aid=nLogin";
$params["sidtype"] = 1;
$ params["loginTitle"] ="모바일 텐센트";
$params["bid"] = 0;
$params["qq"] =$qq_num;
p>$params["pwd"] =$qq_pwd;
$params["loginType"] =1;
echo$data=$this->\ / /",$data,$matches)){
echo "인증 코드를 입력해야 합니다.";
return0;
exit;
p>
}
if(preg_match("/잘못된 비밀번호/",$data,$matches)){
echo "잘못된 비밀번호";
return1;
종료;
}
$action= preg_match("/sid=(.+?)&/",$data,$ 일치);
$this->sid =$matches[1];
return$this->sid;
}
functionendMsg($ to_num,$msg,$sid= 0) {
$sid=$sid?$sid:$this->sid;
if(!$sid)
exit("sid 값이 전달되지 않았습니다.");
$params=array();
$params["msg"] =$msg ;
$params["u"] =$to_num;
$params["saveURL"] = 0;
$params["do"] ="보내기" ;
$params["on"] = 1;
$params["aid"] ="보내기";
$url ="/g /s?sid=".$sid;
echo$data=$this->/g/s?sid=".$sid."&3G_UIN=".$qq_num." &saveURL=0&aid= nqqChat";
$data=$this->/s?sid=".$sid."&aid=nLogout";
echo$url; p>
echo$this->/g/s?aid=nqqchatMain&sid=".$sid."&myqq=".$qq_num;
while(true){
$i= 1;
$url.="&p=".$i;
$data=$this->http->get($url); p>
preg_match_all("/u=(.+?)&/",$data,$matches);
foreach($matches[1]as$key=>$value){
$result[]=$value;
}
if(count($matches[1])<13)
break;
p>$i++;
}
return$result;
}
}
//PHP 코드
classhttp_no_cookie {
private$curl;
public$user_agent ="Mozilla/5.0( Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13(Gecko와 같은 KHTML) Chrome/0.2.149.29 Safari/525.13";
publicfunctionget($url) {
$this->curl = 컬_init();
컬_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 8);
컬_setopt($this-> 컬, CURLOPT_URL,$url );
컬_setopt($this->curl, CURLOPT_HEADER, 0);
컬_setopt($this->curl, CURLOPT_USERAGENT,$this->user_agent );
컬_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
$data= 컬_exec($this->curl);
컬_닫기( $this->curl) ;
return$data;
}
publicfunctionpost($url,$params) {
$ this->curl = 컬_init();
컬_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, 8);
컬_setopt($this->curl, CURLOPT_URL,$url);
컬_setopt($this->curl, CURLOPT_HEADER, 1);
컬_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
컬_setopt($ this->curl, CURLOPT_POST , 1);
컬_setopt($this->curl, CURLOPT_USERAGENT,$this->user_agent);
컬_setopt($this->curl, CURLOPT_POSTFIELDS ,$params);
컬_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
$data= 컬_exec($this->curl);
컬_닫기($this- >curl);
return$data;
}
} >