Просмотр исходного кода

build an echo server, but does not work for events or voice images.

master
Patrick Peng Sun 8 лет назад
Родитель
Сommit
f20a1c2ae4
1 измененных файлов: 16 добавлений и 1 удалений
  1. +16
    -1
      server.go

+ 16
- 1
server.go Просмотреть файл



switch r.Method { switch r.Method {
case "POST": case "POST":
answerWechatPost(w, r)
answerWechatPostEcho(w, r)
//answerWechatPost(w, r)
case "GET": case "GET":
answerInitialAuth(w, r) answerInitialAuth(w, r)
default: default:
return return
} }


func answerWechatPostEcho(w http.ResponseWriter, r *http.Request) {
body, _ := ioutil.ReadAll(r.Body)
//fmt.Printf("get body: %s", string(body))
s := ReadEncryptedMsg(string(body))
//fmt.Printf("to decrypt %s", s.Encrypt)
d := Decode(s.Encrypt)
fmt.Printf("echo as: \n%s", d)

e := strings.Replace(d, "ToUserName", "FDDD20170506xyzunique", 2)
f := strings.Replace(e, "FromUserName", "ToUserName", 2)
g := strings.Replace(f, "FDDD20170506xyzunique", "FromUserName", 2)
fmt.Fprint(w, g)
}

// //
func checkSignature(r *http.Request) bool { func checkSignature(r *http.Request) bool {
rq := r.URL.RawQuery rq := r.URL.RawQuery

Загрузка…
Отмена
Сохранить