백엔드 개발 PHP 튜토리얼 PHP WeChat 개발 중 WeChat 메시지 자동 회신에서 발생하는 함정, WeChat 드리프트 병 자동 회신, WeChat 자동 회신 전체 수집, WeChat 그룹 자동 회신

PHP WeChat 개발 중 WeChat 메시지 자동 회신에서 발생하는 함정, WeChat 드리프트 병 자동 회신, WeChat 자동 회신 전체 수집, WeChat 그룹 자동 회신

Jul 29, 2016 am 08:49 AM
위챗 개발 자동 답장

WeChat 응답 원칙:

일반 WeChat 사용자가 공개 계정에 메시지를 보내면 WeChat 서버는 먼저 사용자가 보낸 메시지를 받습니다.

그런 다음 사용자 정보와 메시지를 XML 형식의 데이터 패킷으로 보내고 이 XML 데이터 패킷을 개발자가 POST 메서드를 통해 설정한 URL에 제출합니다.

질문 1: $_POST 배열 대신 $GLOBALS["HTTP_RAW_POST_DATA"]를 사용하여 POST 데이터를 저장하는 이유는 무엇입니까?

답변:

POST는 표준 데이터 유형만 저장할 수 있으며 XML, SOAP 또는 애플리케이션/옥텟 스팀과 같은 콘텐츠를 구문 분석할 수 없습니다.

그리고 $GLOBALS["HTTP_RAW_POST_DATA"]는 $_POST와 동일합니다. PHP가 POST 데이터를 인식할 수 있으면 $GLOBALS["HTTP_RAW_POST_DATA"]를 사용하여 이를 받을 수 있습니다.

질문 2: simplexml_load_file()의 매개변수와 반환값은 무엇인가요?

답:

매개변수 의미

문자열: 처리해야 하는 XML 문자열입니다.

클래스: 새 개체를 지정하는 데 사용되며 일반적으로 간단한 XML 요소의 클래스를 생성하기 위해 "SimpleXMLElement"로 설정됩니다.

옵션: 추가 Libxml 매개변수를 지정합니다. 일반적으로 LIBXML_NOCDATA 상수로 설정됩니다. 이는 CDATA를 텍스트 노드로 설정한다는 의미입니다.

ns: 일반적으로 생략

is_prefix: 일반적으로 생략

함수가 실행된 후 SimpleXMLElement 클래스의 객체를 반환합니다.

기능: 공식 계정은 문자 메시지만 수락하고 해당 문자 답장을 보냅니다.

<span><&#63;php 
define("TOKEN","weixin"); 
$weixinObj = new Wechat(); 
$weixinObj->valid(); 
class Wechat{ 
public function valid(){ 
$echoStr = $_GET['echostr']; 
//如果是第一次接入 
if($this->checkSignature() && $echoStr ){ 
echo $echoStr; 
exit; 
}else{ 
$this->responseMsg(); 
} 
} 
//校验方法 
private function checkSignature(){ 
$signature = $_GET['signature']; 
$timestamp = $_GET['timestamp']; 
$nonce = $_GET['nonce']; 
$token = TOKEN; 
$tmpArr = array($token, $timestamp, $nonce); 
sort($tmpArr); 
$tmpStr = implode($tmpArr); 
$tmpStr = sha1($tmpStr); 
if($tmpStr == $signature){ 
return true; 
}else{ 
return false; 
} 
} 
/* 普通文本消息 
<xml> 
<ToUserName><![CDATA[toUser]]></ToUserName> 
<FromUserName><![CDATA[fromUser]]></FromUserName> 
<CreateTime>1348831860</CreateTime> 
<MsgType><![CDATA[text]]></MsgType> 
<Content><![CDATA[this is a test]]></Content> 
</xml> 
*/ 
public function responseMsg(){ 
//获取微信服务器POST请求中的数据 
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
if( !empty($postStr) ){ 
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); 
$fromUser = $postObj->FromUserName; 
$toUser = $postObj->ToUserName; 
$keyword = trim($postObj->Content); 
$time = time(); 
$template = "<xml> 
<ToUserName><![CDATA[%s]]></ToUserName> 
<FromUserName><![CDATA[%s]]></FromUserName> 
<CreateTime>%s</CreateTime> 
<MsgType><![CDATA[%s]]></MsgType> 
<Content><![CDATA[%s]]></Content> 
</xml>"; 
if( strtolower($postObj->MsgType)!='text' ){ 
$msgType = "text"; 
$content = "我只接受文本消息"; 
}else{ 
$msgType = "text"; 
if( !empty($keyword) ){ 
$content = "您发送的消息是:".$postObj->Content; 
}else{ 
$content = "请输入关键字";//消息为空 
} 
} 
$info = sprintf($template, $fromUser, $toUser, $time, $msgType, $content); 
echo $info; 
}else{ 
echo ""; 
exit; 
} 
} 
}</span> 
로그인 후 복사

기능: 공식 계정은 사진 메시지만 받고 해당 메시지에 대한 답장을 보냅니다.

<span><&#63;php 
define("TOKEN","weixin"); 
$weixinObj = new Wechat(); 
$weixinObj->valid(); 
class Wechat{ 
public function valid(){ 
$echoStr = $_GET['echostr']; 
//如果是第一次接入 
if($this->checkSignature() && $echoStr ){ 
echo $echoStr; 
exit; 
}else{ 
$this->responseMsg(); 
} 
} 
//校验方法 
private function checkSignature(){ 
$signature = $_GET['signature']; 
$timestamp = $_GET['timestamp']; 
$nonce = $_GET['nonce']; 
$token = TOKEN; 
$tmpArr = array($token, $timestamp, $nonce); 
sort($tmpArr); 
$tmpStr = implode($tmpArr); 
$tmpStr = sha1($tmpStr); 
if($tmpStr == $signature){ 
return true; 
}else{ 
return false; 
} 
} 
/* 接收图片消息格式 
<xml> 
<ToUserName><![CDATA[toUser]]></ToUserName> 
<FromUserName><![CDATA[fromUser]]></FromUserName> 
<CreateTime>1348831860</CreateTime> 
<MsgType><![CDATA[image]]></MsgType> 
<PicUrl><![CDATA[this is a url]]></PicUrl> 
<MediaId><![CDATA[media_id]]></MediaId> 
<MsgId>1234567890123456</MsgId> 
</xml> 
*/ 
public function responseMsg(){ 
//获取微信服务器POST请求中的数据 
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
if( !empty($postStr) ){ 
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); 
$fromUser = $postObj->FromUserName; 
$toUser = $postObj->ToUserName; 
$time = time(); 
$msgType= $postObj->MsgType; 
$picUrl = $postObj->PicUrl; 
$mediaId = $postObj->MediaId; 
$template = "<xml> 
<ToUserName><![CDATA[%s]]></ToUserName> 
<FromUserName><![CDATA[%s]]></FromUserName> 
<CreateTime>%s</CreateTime> 
<MsgType><![CDATA[%s]]></MsgType> 
<Content><![CDATA[%s]]></Content> 
</xml>"; 
if( strtolower($msgType)!='image' ){ 
$msgType = "text"; 
$content = "我只接受图片消息"; 
}else{ 
$msgType = "text"; 
if( !empty( $picUrl ) ){ 
$content = "图片链接为:".$picUrl."\n"; 
$content .= "媒体id:".$mediaId; 
}else{ 
$content = "请发送图片";//消息为空 
} 
} 
$info = sprintf($template, $fromUser, $toUser, $time, $msgType, $content); 
echo $info; 
}else{ 
echo ""; 
exit; 
} 
} 
}</span>
로그인 후 복사

위 내용은 WeChat 메시지에 자동 응답할 때 직면하게 되는 함정에 대해 편집자가 공유한 지식입니다. 모든 분들께 도움이 되기를 바랍니다!

위는 WeChat 개발 내용과 자동 응답을 포함하여 PHP WeChat 개발 시 WeChat 메시지 자동 응답에서 발생할 수 있는 함정을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Xianyu에서 자동 회신을 설정하는 방법 자동 회신을 설정하는 방법 Xianyu에서 자동 회신을 설정하는 방법 자동 회신을 설정하는 방법 Mar 13, 2024 am 10:50 AM

Xianyu는 모든 사람의 요구를 쉽게 충족시킬 수 있습니다. 누구나 여기에서 필요한 물건을 구입할 수 있고, 유휴 품목도 여기에서 판매할 수 있어 매우 비용 효율적입니다. 더 이상 필요하지 않은 유휴 품목. 공간을 확보할 수 있을 뿐만 아니라 돈도 벌 수 있습니다. 가격을 자유롭게 설정할 수 있으며 때로는 가격이 만족스럽지 않고 원하는 경우에도 구매할 수 있습니다. 또한 가격에 대해 이야기하거나 더 자세한 제품 정보를 얻을 것입니다. 지금 회신하지 않으면 고객을 잃을 수 있으므로 일부 자동 회신을 설정하여 모든 사람이 일정 기간 동안 고객을 유지하는 데 효과적으로 도움이 될 수 있습니다. 시간이 매우 유용합니다. 여기 편집기는 자동 응답을 설정하는 방법을 제공합니다.

QQ 자동 회신을 설정하는 방법은 무엇입니까? QQ 자동 답장 설정 단계 QQ 자동 회신을 설정하는 방법은 무엇입니까? QQ 자동 답장 설정 단계 Mar 15, 2024 pm 03:13 PM

QQ는 문자, 음성, 영상 등 다양한 커뮤니케이션 방법을 지원할 뿐만 아니라 풍부한 개인화 설정을 갖춘 인기 있는 소셜 네트워킹 소프트웨어입니다. 그중 자동 답장 기능은 매우 실용적인 설정입니다. 바쁘거나 메시지에 제때 답장을 할 수 없을 때 미리 설정된 답장 내용을 친구에게 자동으로 보낼 수 있어 제때 답장하지 못해 당혹감을 느끼는 일이 없습니다. 이런 방식으로 귀하가 바쁘거나 일시적으로 자리를 비울 때 QQ는 자동으로 친구들에게 미리 설정된 답장을 보내므로 귀하는 소셜 재미를 즐기고 다양한 상황에 쉽게 대처할 수 있습니다. QQ 자동 회신을 설정하는 방법은 무엇입니까? QQ 자동 응답 설정 단계 1. 휴대폰 잠금을 해제하고 QQ 애플리케이션을 열고 홈 메시지 페이지에서 왼쪽 상단의 [상태] 아이콘을 가볍게 클릭하거나 [아바타]를 길게 눌러 즉시 입력합니다.

Outlook 2013에서 자동 회신을 설정하는 방법 - Outlook 2013에서 자동 회신을 설정하는 방법 Outlook 2013에서 자동 회신을 설정하는 방법 - Outlook 2013에서 자동 회신을 설정하는 방법 Mar 05, 2024 pm 02:01 PM

최근 Outlook 2013을 처음 사용하는 많은 새로운 친구들이 Outlook 2013에서 자동 회신을 설정하는 방법을 문의해 왔습니다. 아래에서는 Outlook 2013에서 자동 회신을 설정하는 방법을 알려 드리겠습니다. 아래에서 살펴보겠습니다. 로그인 후 왼쪽 상단의 파일을 클릭하면 다음 인터페이스가 나타납니다. 다음 파일 옵션 인터페이스가 나타나면 [자동 회신]을 클릭하여 자동 회신 설정 인터페이스로 들어갑니다. 기본적으로 이메일 자동 전송이 선택되어 있지 않으며, 다음과 같이 자동 회신 기간을 설정할 수 있습니다. 아래 그림과 같이 최종적으로 복원해야 할 내용을 편집할 수 있습니다. 편집이 완료되면 확인을 클릭한 후 동료에게 이메일을 보내달라고 요청하면 효과를 확인할 수 있습니다.

PHP를 사용하여 자동 회신 이메일 기능을 개발하는 방법은 무엇입니까? PHP를 사용하여 자동 회신 이메일 기능을 개발하는 방법은 무엇입니까? Sep 11, 2023 pm 09:51 PM

PHP를 사용하여 자동 회신 이메일 기능을 개발하는 방법은 무엇입니까? 이메일이 널리 사용됨에 따라 이메일에 자동으로 회신하는 기능은 많은 조직과 개인의 일상 업무에 필수적인 기능이 되었습니다. PHP를 사용하여 자동 회신 이메일 기능을 개발하면 시간과 에너지를 절약하고 작업 효율성을 향상시키는 데 도움이 될 수 있습니다. 이 기사에서는 이메일 응답 요구에 더 잘 대응하기 위해 PHP를 사용하여 이메일에 자동으로 응답하는 기능을 개발하는 방법을 소개합니다. 먼저 이메일을 보내고 받을 수 있는 PHP 라이브러리가 필요합니다. PHPMailer는 매우 인기가 있습니다.

ChatGPT Java: 자동 응답 기능 구현 방법 ChatGPT Java: 자동 응답 기능 구현 방법 Oct 25, 2023 am 08:47 AM

ChatGPTJava: 자동 응답 기능을 구현하는 방법, 구체적인 코드 예제가 필요합니다. 자동 응답 기능은 현대 기술의 발전에서 점점 더 중요해지고 있습니다. 온라인 고객 서비스, 챗봇, 소셜 미디어 플랫폼 등 모두 즉각적이고 효율적인 서비스를 제공하기 위해 자동으로 응답할 수 있는 능력이 필요합니다. 이 기사에서는 Java 프로그래밍 언어를 사용하여 자동 응답 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 시작하기 전에 기본 ChatGPT 모델을 구축하는 방법을 이해해야 합니다. ChatGPT는

PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법 PHP WeChat 개발: 메시지 암호화 및 암호 해독 구현 방법 May 13, 2023 am 11:40 AM

PHP는 웹 개발 및 서버 측 프로그래밍, 특히 WeChat 개발에 널리 사용되는 오픈 소스 스크립팅 언어입니다. 오늘날 점점 더 많은 회사와 개발자가 WeChat 개발에 PHP를 사용하기 시작하고 있습니다. PHP는 배우기 쉽고 사용하기 쉬운 개발 언어이기 때문입니다. WeChat 개발에서 메시지 암호화 및 복호화는 데이터 보안과 관련되어 있기 때문에 매우 중요한 문제입니다. 암호화 및 복호화 방법이 없는 메시지의 경우 해커가 쉽게 데이터를 획득할 수 있어 사용자에게 위협이 될 수 있습니다.

PHP에서 자동 이메일 회신을 구현하는 방법 PHP에서 자동 이메일 회신을 구현하는 방법 May 22, 2023 pm 08:21 PM

PHP는 자동화된 이메일 답장을 포함하여 다양한 유형의 애플리케이션을 구현하는 데 사용할 수 있는 널리 사용되는 서버측 스크립팅 언어입니다. 이메일 자동 응답은 일련의 이메일에 자동으로 응답하여 시간과 노력을 절약하는 데 사용할 수 있는 매우 유용한 기능입니다. 이번 글에서는 PHP를 사용하여 자동 이메일 답장을 구현하는 방법을 소개하겠습니다. 1단계: PHP 및 웹 서버 설치 자동 이메일 답장을 시작하기 전에 먼저 PHP 및 웹 서버를 설치해야 합니다. 대부분의 사람들에게 Apache는 가장 일반적입니다.

PHP를 사용하여 WeChat 대량 메시징 도구 개발 PHP를 사용하여 WeChat 대량 메시징 도구 개발 May 13, 2023 pm 05:00 PM

WeChat의 인기로 인해 점점 더 많은 기업이 WeChat을 마케팅 도구로 사용하기 시작했습니다. WeChat 그룹 메시징 기능은 기업이 WeChat 마케팅을 수행하는 중요한 수단 중 하나입니다. 그러나 수동 전송에만 의존한다면 마케팅 담당자에게는 매우 시간이 많이 걸리고 힘든 작업입니다. 따라서 WeChat 대량 메시징 도구를 개발하는 것이 특히 중요합니다. 이 기사에서는 PHP를 사용하여 WeChat 대량 메시징 도구를 개발하는 방법을 소개합니다. 1. 준비 작업 WeChat 대량 메시징 도구를 개발하려면 다음 기술 사항을 숙지해야 합니다. PHP WeChat 공개 플랫폼 개발에 대한 기본 지식 개발 도구: Sub

See all articles