class PHPFetion { protected $_mobile; protected $_password; protected $_cookie = ''; protected $_uids = array(); protected $_csrfToten = null; public function __construct($mobile, $password) { if ($mobile === '' || $password === '') { return; } $this->_mobile = $mobile; $this->_password = $password; $this->_login(); } public function __destruct() { $this->_logout(); } protected function _login() { $uri = '/huc/user/space/login.do?m=submit&fr=space'; $data = 'mobilenum='.$this->_mobile.'&password='.urlencode($this->_password); $result = $this->_postWithCookie($uri, $data); preg_match_all('/.*?\r\nSet-Cookie: (.*?);.*?/si', $result, $matches); if (isset($matches[1])) { $this->_cookie = implode('; ', $matches[1]); } $result = $this->_postWithCookie('/im/login/cklogin.action', ''); return $result; } public function send($mobile, $message) { if ($message === '') { return ''; } if ($mobile == $this->_mobile) { return $this->_toMyself($message); } else { $uid = $this->_getUid($mobile); return $uid === '' ? '' : $this->_toUid($uid, $message); } } protected function _getUid($mobile) { if (empty($this->_uids[$mobile])) { $uri = '/im/index/searchOtherInfoList.action'; $data = 'searchText='.$mobile; $result = $this->_postWithCookie($uri, $data); //匹配 preg_match('/toinputMsg\.action\?touserid=(\d+)/si', $result, $matches); $this->_uids[$mobile] = isset($matches[1]) ? $matches[1] : ''; } return $this->_uids[$mobile]; } protected function _getCsrfToken($uid) { if ($this->_csrfToten === null) { $uri = '/im/chat/toinputMsg.action?touserid='.$uid; $result = $this->_postWithCookie($uri, ''); preg_match('/name="csrfToken".*?value="(.*?)"/', $result, $matches); $this->_csrfToten = isset($matches[1]) ? $matches[1] : ''; } return $this->_csrfToten; } protected function _toUid($uid, $message) { $uri = '/im/chat/sendMsg.action?touserid='.$uid; $csrfToken = $this->_getCsrfToken($uid); $data = 'msg='.urlencode($message).'&csrfToken='.$csrfToken; $result = $this->_postWithCookie($uri, $data); return $result; } protected function _toMyself($message) { $uri = '/im/user/sendMsgToMyselfs.action'; $result = $this->_postWithCookie($uri, 'msg='.urlencode($message)); return $result; } protected function _logout() { $uri = '/im/index/logoutsubmit.action'; $result = $this->_postWithCookie($uri, ''); return $result; } protected function _postWithCookie($uri, $data) { $fp = fsockopen('f.10086.cn', 80); fputs($fp, "POST $uri HTTP/1.1\r\n"); fputs($fp, "Host: f.10086.cn\r\n"); fputs($fp, "Cookie: {$this->_cookie}\r\n"); fputs($fp, "Content-Type: application/x-www-form-urlencoded\r\n"); fputs($fp, "User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1\r\n"); fputs($fp, "Content-Length: ".strlen($data)."\r\n"); fputs($fp, "Connection: close\r\n\r\n"); fputs($fp, $data); $result = ''; while (!feof($fp)) { $result .= fgets($fp); } fclose($fp); return $result; } } function curl($url, $postFields = null) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_FAILONERROR, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); if(strlen($url) > 5 && strtolower(substr($url,0,5)) == "https" ) { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); } if (is_array($postFields) && 0 < count($postFields)) { $postBodyString = ""; $postMultipart = false; foreach ($postFields as $k => $v) { if("@" != substr($v, 0, 1)) { $postBodyString .= "$k=" . urlencode($v) . "&"; } else { $postMultipart = true; } } unset($k, $v); curl_setopt($ch, CURLOPT_POST, true); if ($postMultipart) { curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields); } else { curl_setopt($ch, CURLOPT_POSTFIELDS, substr($postBodyString,0,-1)); } } $reponse = curl_exec($ch); if (curl_errno($ch)) { throw new Exception(curl_error($ch),0); } else { $httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); if (200 !== $httpStatusCode) { throw new Exception($reponse,$httpStatusCode); } } curl_close($ch); return $reponse; } function object_to_array($obj) { $_arr = is_object($obj) ? get_object_vars($obj) : $obj; foreach ($_arr as $key => $val) { $val = (is_array($val) || is_object($val)) ? object_to_array($val) : $val; $arr[$key] = $val; } return $arr; }
以上就是模拟飞信fetion发送类[直接调用官方]的内容,更多相关内容请关注PHP中文网(www.php.cn)!
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
2 몇 주 전ByDDD
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
