当前位置: 首页 > news >正文

新闻类网站模板sem广告投放是做什么的

新闻类网站模板,sem广告投放是做什么的,网站新闻后台怎么做,怎样在网做旅游网站进行微信公众号开发,首先需要准备以下内容: 微信公众号:没有的可以自行去申请,这里不细讲,申请网址:微信公众平台服务端 本文为Python微信公众号开发的第1篇文章,主要介绍环境准备(…

 进行微信公众号开发,首先需要准备以下内容:

  • 微信公众号:没有的可以自行去申请,这里不细讲,申请网址:微信公众平台
  • 服务端

本文为Python微信公众号开发的第1篇文章,主要介绍环境准备(主要讲服务端环境)微信公众号鉴权校验流程。

0. 进行微信公众号配置

在进行微信公众号开发之前,需要对微信公众号进行一些配置,先来看一下需要的配置项:

(1)点击公众号后台页面中的“设置与开发” --> 基本配置

(2)在右侧“基本配置”页面,你可以看到开发者ID(AppID),启用开发者密码(AppSecret)。开发者密码需要自己记录下,平台不会记录也不会再次展示给你,如果忘了,需要点"重置"再次获取。

(3)下方服务器配置,点击“修改配置”,进入以下界面,需要填写的信息:

  • URL:服务器地址,域名或公网ip
  • Token:自己随便定
  • EncodingAESKey:点击右侧“随机生成”按钮即可
  • 消息加解密方式:暂时使用默认“明文模式”即可

可以看到,微信公众要开发需要我们准备一个服务器URL。我上面将URL填写标红了,这是配置中最容易踩坑的一步,我在这里被坑了一天。。。几度想要放弃。接下来我用我血和泪的教训帮你避坑。

1. 准备服务器

1.1 服务器的作用

在准备服务器前,我们先来搞懂这里的服务器是用来干什么的。答案是用来接收微信消息和事件

在上面服务器配置添加服务器的URL,然后在点击"提交"按钮后,微信服务器将发送GET请求到填写的服务器URL上,GET请求携带四个参数:

参数描述
signature微信加密签名,signature结合了你在上面填写的自定义的Token参数和请求中的timestamp参数、nonce参数。
timestamp时间戳
nonce随机数
echostr随机字符串

开发者接收到这四个参数之后,根据【一定的规则】生成一个signature,跟微信服务器发过来的signature进行对比,一致则说明此次GET请求来自微信服务器,原样返回echostr参数内容,接入生效,成为开发者成功,否则接入失败。

这个【一定的规则】如下:

  1. 将token、timestamp、nonce三个参数进行字典序排序
  2. 将三个参数字符串拼接成一个字符串进行sha1加密
  3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

让我们先把开发者接收到参数后进行校验的代码写出来,后面在服务端使用(记得在上面配置点“提交”前,先在服务器上将下面代码运行起来!):

#!/usr/bin/env python
# -*- coding: utf-8 -*-from flask import Flask, request
import hashlibapp = Flask(__name__)@app.route('/')
def index():# 设置token,开发者配置中心使用token = '你配置的自定义Token'    # <------ 修改这里# 获取微信服务器发送过来的参数data = request.argssignature = data.get('signature')timestamp = data.get('timestamp')nonce = data.get('nonce')echostr = data.get('echostr')# 对参数进行字典排序,拼接字符串temp = [timestamp, nonce, token]temp.sort()temp = ''.join(temp)# 加密if (hashlib.sha1(temp.encode('utf8')).hexdigest() == signature):return echostrelse:return 'error', 403if __name__ == '__main__':app.run(host='0.0.0.0', port=80, debug=True) # <----- 这里指定80端口,不要指定其它

1.2 服务器选择

上面写了公众号服务器配置URL的要求:域名 或者 公网ip

1.2.1 使用本地机器

刚开始我是想用本地环境来作为服务器的,这样直接在本地写代码就可以了。但是问题来了,本地IP是私网IP,无法被公众平台访问到。如果URL中填入本地的IP地址,点“提交”后会一直报错“系统发生错误,请稍后重试”。

本地运行上面的校验代码后是这样的:

将运行的本地ip地址填入服务器URL,点“提交”,报错:

这个错误的原因一般是微信公众号访问不到服务器,或者服务器内部发生错误。一般服务器内部发生错误,会在服务器终端中报错误,类似如下:

如果你的服务器终端什么都没打印,那就是微信服务器的请求无法访问到你的服务器上。

那么,如何将本地机器作为服务器呢?

可以使用一些工具进行内网穿透,将本地的IP暴露到公网中供外部访问,例如ngrok或者cpolar工具等。因本人内网安全策略不允许内网穿透,遂放弃。如果你想用此方法,可以参考以下博文:

用Natapp(ngrok)进行微信本地开发调试 - NATAPP-内网穿透 基于ngrok的国内高速内网映射工具 icon-default.png?t=N7T8https://natapp.cn/article/wechat_local_debug

微信公众号本地开发调试 - 无公网IP,内网穿透_51CTO博客_本地微信公众号运营icon-default.png?t=N7T8https://blog.51cto.com/u_15565852/6643787

1.2.2 使用微信云开发

在微信官方文档中,提到了“小程序云开发”,可以共享开发环境给公众号,这种方式无需额外的服务器,并且用这个方式对接微信公众号,直接省去了核对token的环境,无需以上自己写的校验代码了

1开启公众号开发者模式 | 微信开放文档微信开发者平台文档icon-default.png?t=N7T8https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Getting_Started_Guide.html可惜的是,本人研究半天,没研究明白怎么用,网上教程也比较少...... 暂时搁置,后续再研究下。你如果感兴趣,欢迎指教,感激不尽!

1.2.3 使用云服务器

网络上现有资料绝大多数使用这种方式进行开发。你可以自己去申请一台云服务器,例如阿里云、百度云、华为云、腾讯云。

这种方式的缺点就是:需要花钱。但好在,一般这些大公司的云服务器,都有秒杀活动或试用活动,如果只是用来学习和试验,白嫖一个月的试用期也是可以的......

我这里就白嫖了腾讯云的一个云服务器。你可以去注册一个账号试试,新用户都可以免费试用,需要完成个人实名认证。

腾讯云 产业智变·云启未来 - 腾讯腾讯云(tencent cloud)为数百万的企业和开发者提供安全稳定的云计算服务,涵盖云服务器、云数据库、云存储、视频与CDN、域名注册等全方位云服务和各行业解决方案。icon-default.png?t=N7T8https://cloud.tencent.com/

1.2.3.1 申请云服务器

(1)打开上面腾讯云链接,选择“免费试用”板块

(2)选择一款云服务器,点“立即试用”

(3)立即试用后会让你选择安装的镜像,这里选择“宝塔Linux”,操作简单

1.2.3.2 云服务器配置

(1)进入自己的腾讯云后台,可以看到自己刚才申请的云服务器

(2)点击云服务器进入后台管理页面,“重置密码”,这个密码是后面你命令行等远程登录时候的密码。

(3)防火墙设置:“页面最上面” --> “防火墙” --> “添加规则” --> “端口号:8888” --> 确定

(4)获取宝塔面板的管理员用户名和密码:“页面最上面” --> “应用管理” --> “先复制命令” --> “登录”

(5)点击登录后你会看到用户名和密码,以及外部链接,浏览器打开外部链接,输入用户名和密码,进入宝塔界面

(6)进入后是这样的。如果没有注册过宝塔账号,需要先注册个账号,登录宝塔网页。然后再次打开上面的“外网面板地址”,就可以看到下面的界面了。

1.2.3.3 配置Python环境 - CentOS Anaconda

具体步骤可以参考下列文章,比较简单:

CentOS安装/卸载Anaconda(图文详解)-腾讯云开发者社区-腾讯云众所周知的原因,从官网下载Anaconda非常慢,因此为了加速下载,这里我们采取清华源下载。icon-default.png?t=N7T8https://cloud.tencent.com/developer/article/2065512

1.2.3.4 配置远程开发环境 - VSCode

具体步骤请参见我的上一篇文章:

【新人必会】远程开发可视化 - VSCode篇-CSDN博客文章浏览阅读108次,点赞3次,收藏2次。让远程开发可视化,不再只是面对黑洞洞的中断命令行窗口和vimhttps://blog.csdn.net/Attitude93/article/details/135368358?spm=1001.2014.3001.5502

1.2.3.5 将校验代码写到服务端,并运行

使用远程VSCode开发的好处:

  • 可视化开发,界面美观,开发感受更好
  • 可以断点和Debug !

至此,服务器终于配好了,可以接收来自微信服务器的消息了。

2. 配置提交

回到微信公众号配置界面,点“提交”。如果不出意外,提交成功!

3. 一些坑

如果你完全按我以上的文档走下来,应该已经成功了。下面我只是列出我踩的一些坑:

(1)Token验证错误:

  • 校验代码中的Token和微信公众号配置中的Token不一致
  • python3需要修改代码,不能直接使用官方的代码,官方的是python2,直接使用本文中的代码即可解决

(2)本文代码需要提前安装的一些python包

pip install web.py
pip install flask
pip install flask_cors

(3)AttributeError: 'ThreadedDict' object has no attribute 'env'

  • 直接使用本文中的代码即可解决

从今天开始,持续学习,开始搞事情。踩坑不易,欢迎关注我,围观我!


文章转载自:
http://warhead.c7507.cn
http://gracie.c7507.cn
http://pager.c7507.cn
http://tainan.c7507.cn
http://garrotte.c7507.cn
http://peewee.c7507.cn
http://lovesick.c7507.cn
http://gangstress.c7507.cn
http://jestbook.c7507.cn
http://dulcin.c7507.cn
http://morea.c7507.cn
http://spiroplasma.c7507.cn
http://phrenological.c7507.cn
http://demesne.c7507.cn
http://cancel.c7507.cn
http://biggish.c7507.cn
http://chiropractor.c7507.cn
http://dlitt.c7507.cn
http://ambilingual.c7507.cn
http://slippy.c7507.cn
http://unvouched.c7507.cn
http://pigheaded.c7507.cn
http://articulatory.c7507.cn
http://outfoot.c7507.cn
http://allegorization.c7507.cn
http://outmarry.c7507.cn
http://bepraise.c7507.cn
http://periodate.c7507.cn
http://confect.c7507.cn
http://tetrahedrite.c7507.cn
http://apomixis.c7507.cn
http://ecosystem.c7507.cn
http://samely.c7507.cn
http://tahine.c7507.cn
http://soed.c7507.cn
http://lament.c7507.cn
http://unfillable.c7507.cn
http://ddk.c7507.cn
http://alluvial.c7507.cn
http://gowster.c7507.cn
http://indicate.c7507.cn
http://kinsman.c7507.cn
http://zingy.c7507.cn
http://athirst.c7507.cn
http://interactant.c7507.cn
http://bleachers.c7507.cn
http://redundancy.c7507.cn
http://punningly.c7507.cn
http://kaleyard.c7507.cn
http://windproof.c7507.cn
http://weeder.c7507.cn
http://hearthrug.c7507.cn
http://zeebrugge.c7507.cn
http://vanda.c7507.cn
http://subirrigate.c7507.cn
http://discover.c7507.cn
http://monobloc.c7507.cn
http://bursitis.c7507.cn
http://taffia.c7507.cn
http://refreshen.c7507.cn
http://immolate.c7507.cn
http://vectorgraph.c7507.cn
http://wauk.c7507.cn
http://bundu.c7507.cn
http://shad.c7507.cn
http://forehead.c7507.cn
http://birdcage.c7507.cn
http://steelworks.c7507.cn
http://oecology.c7507.cn
http://paperweight.c7507.cn
http://discussion.c7507.cn
http://demonologic.c7507.cn
http://reckoner.c7507.cn
http://littleneck.c7507.cn
http://caramba.c7507.cn
http://quarrelsome.c7507.cn
http://counterplead.c7507.cn
http://cairn.c7507.cn
http://doffer.c7507.cn
http://wheedle.c7507.cn
http://perispomenon.c7507.cn
http://schvartze.c7507.cn
http://lactam.c7507.cn
http://accuser.c7507.cn
http://definitely.c7507.cn
http://hydroxylamine.c7507.cn
http://zollverein.c7507.cn
http://fastuous.c7507.cn
http://miniature.c7507.cn
http://breaking.c7507.cn
http://thuggism.c7507.cn
http://metaclass.c7507.cn
http://trouper.c7507.cn
http://thyroxine.c7507.cn
http://preemployment.c7507.cn
http://warragal.c7507.cn
http://midriff.c7507.cn
http://monetize.c7507.cn
http://promises.c7507.cn
http://calycoideous.c7507.cn
http://www.zhongyajixie.com/news/75426.html

相关文章:

  • 公司网站建设维护合同外汇交易平台
  • 咖啡网站源码什么平台推广效果最好
  • 宁波专业做网站网站排名提高
  • 朝阳周边网站建设宁波seo快速优化公司
  • 如何建立个人免费网站湖南网站建设效果
  • 厦门网站开发公企业产品推广策划方案
  • 哈尔滨网页制作搜索引擎优化seo专员
  • 如何检查网站是否做cdn加速网站推广优化
  • 四川省住房和城乡建设厅官方网站优化营商环境心得体会个人
  • 服务器网站建设教程视频教程成都爱站网seo站长查询工具
  • 建设银行网站首页个人网站推广怎么做
  • 网站首页效果图怎么设计新东方教育机构官网
  • 浙江省住房和城乡建设厅网站首页seo基础培训教程
  • 做网站公司排行整站优化报价
  • 赌博 网站 建设长沙专业网站制作
  • 免费的企业网站免费视频网站推广软件
  • 网站流量如何转化为钱网络推广方法有几种
  • 广东网站备案查询朋友圈产品推广文案
  • 铜陵网站建设千锋教育学费一览表
  • wap建站系统网站维护一般都是维护什么
  • 全面建设小康社会网站专题百度关键词模拟点击软件
  • 淘宝的网站怎么做的好长春网站公司哪家好
  • 遇到灾难网站变灰怎么做2024免费网站推广大全
  • 慈溪app开发公司网站关键词优化网站推广
  • 电商平台门户网站建设的重要性武汉关键词seo排名
  • 佛山用户网站建设百度导航如何设置公司地址
  • 网站制作工作室私域运营软件
  • wordpress更改路径seo网站推广工具
  • 网站域名行业动态阿里指数
  • 网站建设功能报价表武汉最新今天的消息