。はじめにマイクロチャンネル公衆数
1.サービス、サブスクリプションの数、アプレット、企業のマイクロ流路に数;
2.ユーザ公開マイクロチャンネル番号のメッセージは、マイクロチャネルの情報をサーバーに送信し、
サーバ管理者を救うために公共のマイクロチャネル番号は、ルール管理プラットフォームで指定しました
マイクロチャネルサーバは良いルールエリアや公共番の相互作用の設定に基づいて行われます。
3.プログラムが要求を処理しないマイクロチャネルサーバに期待して、自分自身を開発することである、とき
が、要求は、私たち自身のプログラムにプッシュされたリクエストを処理し、
その後、マイクロチャネルサービスに結果を返します。微信サーバーは、ユーザーに結果を返します。
。ビルドにBの開発環境は、
ブラウザを介してコンピュータでは良いプログラムを開発1.直接アクセスすることができ、
別のコンピュータにアクセスする方法はありません、我々はこれらのコンピュータが接続されていることができます
IP経由で同じローカルエリアネットワークと、アクセスします。
インターネット上の2.他の人たちが開発したプログラムを見て、クラウドサーバに送信されたプログラムを起動していない。
我々は、開発プロセスでドッキングを行うためのプログラムのニーズとマイクロチャネルサーバに必要な、
マイクロチャネルサーバは、我々のプログラムを見つけることができない場合決してお尻は、現像、存在しない
ネットワークの浸透内行うには、我々は最初の必要性、
それが私たちのプロジェクトは、インターネット3.イントラネット上の他のコンピュータからアクセスすることが可能にするために目的を貫通、
ネットワーク侵入ソフトウェア:ピーナッツの殻、 nat123、ngrok(非常に安定し、無料ではない)
のネットワーク侵入原則内:
4.ngrokます:http://www.ngrok.cc/
1.ダウンロード登録アカウント;
2.トンネル化
プロトコル:HTTP
名前:ちょうど書き込み、
前集合ドメイン:ちょうど書き込み、
ローカルポート:localhost:80に(ローカルプロジェクトアクセスポート)
他の不要な塗りつぶし;
3.トンネルIDをコピーし、ngrokクライアントを起動します。
。オープンアクセスは、C
への容易なアクセスの開発1.
マイクロチャネルプラットフォームのログを記録する(基本設定」の開発を変更する必要性を)公衆数を;.
B個人口座の多くの機能の下でテストアカウントのアプリケーションを提供するために、利用できない、マイクロチャネル。
(HTTPS:// ; mp.weixin.qq.com / -数>サービス- 「文書の開発は- - 」を開発しないようになった「いいえアプリケーション・インターフェース・テスト)
。:マイクロチャンネル公共プラットフォームのCのアクセスを、開発者は、次の手順完了する必要があり
HTTPS://開発者に.weixin.qq.com / DOC / offiaccount / Basic_Information / Access_Overview.html
1、サーバ構成内の充填
2、検証サーバアドレス
3、ビジネス・ロジック・インタフェース・マニュアルに従って
URL + +プロジェクトメソッド名を介し2.urlネットワーク内名前
トークン:コードは一貫して要求します。
関連するコード
@RequestMapping("/index")
public String index(HttpServletRequest request) {
String signature = request.getParameter("signature");
String timestamp = request.getParameter("timestamp");
String nonce = request.getParameter("nonce");
String echostr = request.getParameter("echostr");
System.out.println(signature+"\n"+timestamp+"\n"+nonce+"\n"+echostr);
if(check(timestamp,nonce,signature,TOKEN)) {
System.out.println("接入成功");
}else {
System.out.println("接入失败");
}
return "index";
}
/**
* 校验参数
* @param timestamp
* @param nonce
* @param signature
* @param token
* @return
*/
private boolean check(String timestamp, String nonce, String signature,String token) {
//1.将token、timestamp、nonce三个参数进行字典序排序
String [] str = {token,timestamp,nonce};
Arrays.sort(str);
//2)将三个参数字符串拼接成一个字符串进行sha1加密
String strs = str[0]+str[1]+str[2];
String mysig= sha1(strs);
System.out.println("mysig:---->"+mysig);
//3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
return mysig.equals(signature);
}
private String sha1(String strs) {
// TODO Auto-generated method stub
try {
//获取加密对象
MessageDigest md = MessageDigest.getInstance("sha1");
//加密处理
byte[] digest = md.digest(strs.getBytes());
//处理加密结果
char [] chars = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
StringBuilder sb = new StringBuilder();
for (byte b : digest) {
sb.append((chars)[(b>>4)&15]);
sb.append(chars[b&15]);
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}