天天看點

你的伺服器沒有正确響應Token驗證的解決方法

你的伺服器沒有正确響應Token驗證,請閱讀消息接口使用指南 微信 微信公衆平台開發模式 平台 消息 接口 啟用 URL Token

你的伺服器沒有正确響應Token驗證的解決方法

一、問題由來

在使用URL和Token啟用微信公衆平台開發模式消息接口的時候,我們會碰到下面三種情況 

1. 你的伺服器沒有正确響應Token驗證,請閱讀消息接口使用指南

你的伺服器沒有正确響應Token驗證的解決方法

這樣回頭檢查一下各項配置是否正确。如果确定配置沒有問題,請按下面的方法檢查

2. 請求URL逾時

你的伺服器沒有正确響應Token驗證的解決方法

你的伺服器在國外,或者伺服器網速不給力,一般多試幾次就可以了。如果經常這樣,就需要考慮更換伺服器

3. 送出成功

你的伺服器沒有正确響應Token驗證的解決方法

 恭喜你,配置成功了。

我們來講解一下第一種的原因及解決方法。

二、問題分析

首先要了解的是什麼是URL和Token,在這裡,URL就是放置了接口程式的網址,這個網址一般得是你自己的伺服器或空間位址。你自己在這個空間上某個目錄已經有接口程式了,你知道這個接口程式在網際網路上的通路位址是什麼。而Token就是一個令牌,該令牌是個數字或字母形式的字元串,用于微信伺服器與你的伺服器進行通訊的時候的身份驗證。防止非法資料來搞亂。

你的伺服器沒有正确響應Token驗證的解決方法

然後要了解的是開發模式為什麼要使用Url和Token,使用url是為了讓微信伺服器和你的伺服器進行通訊對話,進而達到開發模式下自動回複的目的。而實作這個通訊,必須有相應的程式為你完成這個功能,而這個程式必須已經開發完成并且放置于url路徑下面,當你填寫完url和token的時候,微信伺服器就會和你的伺服器下的程式進行一次認證過程,認證通過表明這個伺服器是你的并且程式沒有問題。不然你填個不存在的url或者url下面個沒有相應的接口功能,那是通不過的。

你可以先用下面的測試通過

URL:   http://discuz.comli.com/test.php

Token:  weixin

三、問題解決 

1.  技術分析法

這次我們在代碼裡面加入跟蹤http記錄的方法來檢視我們自己的伺服器收到了請求沒有回應,還是微信根本沒有發請求過來。

通過調用系統環境變量$_SERVER,可以檢視到HTTP請求的資訊,其中兩項重要的是

你的伺服器沒有正确響應Token驗證的解決方法

把其加入代上面的代碼中,并且将其寫入到本地檔案中來,全部代碼如下:

你的伺服器沒有正确響應Token驗證的解決方法

這樣,當我們送出之後,就會生成一個log.html檔案在目前目錄

用浏覽器直接打開填寫的url,也會寫一次檔案。

直接用浏覽器打開url+log.html路徑,我的記錄如下:

在微信中點選送出一次,再一次生成記錄,如下:

從上可以看到,這次IP來自101.226.89.83,是微信的IP,我把這個IP加入到代碼中自行判斷了

現在可以根據下面的來檢測自己的問題在哪一個地方

如果沒有生成日志:

  那是微信伺服器都沒有聯系到你,需要檢查伺服器是否可以通過公網通路,URL路徑是否存在并且正确。

如果生成了日志:

  如果你生成了日志,有REMOTE_ADDR和QUERY_STRING,檢視IP是不是來自上海(目前微信伺服器部署在上海電信機房),檢視QUERY_STRING格式是否和官方指南中描述的類似,如果這些沒有問題,那先檢查Token填寫的是否和程式中的一緻,再檢查程式是否有問題。

如果上面的方法你沒有看懂,或者無法解決該問題,建議你從微信公衆平台的入門教程開始,學習一下微信公衆平台開發的基礎

2.  付費解決法

如果使用上面方法還是沒有解決你的痛苦,方倍工作室承接這一技術問題的解決。我們的聯系QQ:1354386063

原文位址:http://www.cnblogs.com/txw1958/archive/2013/01/31/weixin-if2-enable.html 

<a> </a>