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

揭阳网站开发如何优化搜索引擎

揭阳网站开发,如何优化搜索引擎,温州建网站公司,精准营销的营销方式企业号出来了。姑且不论大家是接受还是抵触。 作为一个技术人员,我们要抱着发现新大陆的态度。 不过这个新大陆有点让我蛋疼,尤其在中文的处理上莫名其妙。好吧,如果你要推海外市场,可能它是一个很好的选择,用于替换手…

企业号出来了。姑且不论大家是接受还是抵触。

作为一个技术人员,我们要抱着发现新大陆的态度。

不过这个新大陆有点让我蛋疼,尤其在中文的处理上莫名其妙。好吧,如果你要推海外市场,可能它是一个很好的选择,用于替换手机上的app,野心有点大,估计安卓和苹果都不干了。

 

闲话少讲,直奔主题。

模式:

主动模式

这个就是说,主动去骚扰用户,你可以调用腾信的企业号的api,用于给关注你的企业号的人,push各种东西(消息、新闻、视频,声音等),以及修改企业号里面的相关信息(通讯录,组织架构之类的)

回调模式

这个比上面的有好点,用户通过微信找我们,让我们提供服务。这时服务可以以主动模式提供过去,这就不叫做骚扰了。

webjs模式

做些装饰性的工作。略。

 

体验一把

开发语言:python

服务器: ubuntu 12

 

接下来上代码,我们大致的体验下主动模式和回调模式。

主动模式

首先,腾讯要求,你要骚扰用户,必须有凭证token。好吧,token这样获取:

def getTokenIntime(CorpId,Secret):res = urllib2.urlopen('https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s'%(CorpId,Secret))res_dict = simplejson.loads(res.read())token = res_dict.get('access_token',False)if not token:with open(r'./wx_log.txt','ab') as f:f.write(u'异常: 无法取得token')return token

token有超时时间,目前是2个小时。也就是说,获取一次token,两个小时以内就不用再次获取了。

好了,拿到凭证了,接着可以骚扰别人了,以发短信为例:

def sendTxtMsg(token,content,to_user="@all",to_party="",to_tag="",application_id=0,safe=0):try:data = {"touser": to_user,"toparty": to_party,"totag": to_tag,"msgtype": "text","agentid": application_id,"text": {"content": content,},"safe":safe}data = simplejson.dumps(data,ensure_ascii=False)if Debug:with open(r'./wx_data.txt','ab') as f:f.write(data+'\r\n')req = urllib2.Request('https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s'%(token,))        resp = urllib2.urlopen(req,data)msg = u'返回值:' + resp.read()except Exception,ex:msg = u'异常:' + str(ex)finally:with open(r'./wx_log.txt','ab') as f:f.write(msg+'\r\n')

之后发送新闻神马的,略了。

目前发现,声音/图片/视频,所谓的media_id,根本找不到,我确定我找过了企业号平台的每一个角落。所以这三个目前发不了。

 

好吧,主动模式玩了一段之后,发现似乎太无趣了。中文超过一定字数,直接报错{"errcode":41011,"errmsg":"missing agentid"}。在企业号的开发者论坛上问了,无人应答。

 

好吧,自我安慰下,瑕不掩瑜,虽然我们都是中国人,虽然基本等于宣判不能大肆用中文。试试回调模式,看看中文问题能否得到解决。

回调模式

首先,要开启回调模式, 也就是告诉企业号你的服务器url,你想要的token和密钥。

直接设了,点击,报错,各种错。受不了了。好吧,看看文档。

文档说,开启回调模式,需要进行“两次握手”,也许是三次。而不是设置了就好了。

第一次,企业号想你的服务器发送一段信息,post方式,内容放在xml里面。(暗号)

第二次,你的服务器将内容解密,返回给企业号。(明文)

第三次,企业号,将你发过来的明文进行比对什么的,然后反馈给在web后台操作的你。(核对)

严格来讲,第三次,不算握手。

 

接下来,动手:

首先,你需要一个公网的服务器(没有的话自行解决)。

其次,你需要在服务器上部署一个web应用,接受企业号的暗号并解密回传之用。

简而言之,其实只需要一个在公网的应用即可(比如 GAE 应用)。

 

由于只是测试,因此简单新建了一个django项目。

路由映射

url(r'^$','wx_handler.views.veryfi_callback'),

视图:

# -*- coding: utf-8 -*-
from django.shortcuts import render
from django.http import HttpResponse
from .WXBizMsgCrypt import WXBizMsgCrypt
import xml.etree.cElementTree as ETdef veryfi_callback(req):msg_signature = req.GET.get('msg_signature',False)timestamp = req.GET.get('timestamp',False)nonce = req.GET.get('nonce',False)wxcpt = WXBizMsgCrypt('MJyh7es2bn1R','8j1F3fXp3eGn6RMeC17RtYiHiEUxUpgCrXassD3vHVE','wxd33505f2be01d541')if req.method =='GET':echostr = req.GET.get('echostr',False)ret,sEchoStr=wxcpt.VerifyURL(msg_signature, timestamp,nonce,echostr)if(ret!=0):ret_val = "ERR: VerifyURL ret: " + str(ret)return ret_valreturn HttpResponse(sEchoStr)else:if req.method=='POST':data = req.body #not POSTret,sMsg=wxcpt.DecryptMsg(data, msg_signature, timestamp, nonce)if( ret!=0 ):ret_val =  "ERR: DecryptMsg ret: " + str(ret)return HttpResponse(ret_val)xml_tree = ET.fromstring(sMsg)from_uid = xml_tree.find('FromUserName').textcontent = xml_tree.find("Content").textsRespData = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[wxd33505f9be01d541]]></FromUserName><CreateTime>1348831860</CreateTime><MsgType><![CDATA[text]]></MsgType><Content><![CDATA[%s]]></Content><MsgId>1</MsgId><AgentID>1</AgentID></xml>"%(from_uid,'you saied:' + content,)ret,sEncryptMsg=wxcpt.EncryptMsg(sRespData, nonce, timestamp)return HttpResponse(sEncryptMsg)else:return HttpResponse("http method not suppoted")

 

其中,有几个地方小小的掉进坑里了。

由于企业号抛过来的数据类型是 text/xml, 因此用 request.POST是抓不到数据的。

然后,不能有csrf_token保护,因为企业号肯定不会考虑传入一个form,然后加上csrf_token。因此需要把对应的middleware给取消掉。(反正我是把所有middleware全部屏蔽了)

 

最后,这个只是针对消息的回复。(不会处理event)

转载请注明本文来自:http://www.cnblogs.com/Tommy-Yu/p/4014442.html,谢谢!

转载于:https://www.cnblogs.com/Tommy-Yu/p/4014442.html

http://www.lbrq.cn/news/2409949.html

相关文章:

  • 网站被很多公司抄袭重庆网站seo建设哪家好
  • 预约网站怎么做赣州seo排名
  • 苏州网站设计哪家好青岛关键词排名系统
  • 网站开发费用计入什么科目上海公关公司
  • 做化工贸易要用那些网站推广百度app下载
  • 怎么建设一个论坛网站韶关新闻最新今日头条
  • 有没有什么东西可以做网站短视频seo优化排名
  • 网站图标怎么上传怎么做网络广告
  • 给wordpress网站做ssl卸载搜索数据
  • 永州网站建设效果在线网页生成器
  • 电子商务综合实训报告网站建设怎么搭建网站
  • 做免费电影网站的是不是很赚钱免费写文章的软件
  • 深圳网站优化企业媒体发稿公司
  • 教育培训营销型网站建设哪家好网站被禁用如何解决
  • 效果图网站源码快速排名点击工具
  • 5款免费网站管理系统怎么做好网络营销推广
  • 单页网站利润头条关键词排名查询
  • 免费网站app哪个最好中山百度seo排名公司
  • 网站建设案例实录个人博客网页设计html
  • vue.js 做网站班级优化大师官方网站
  • 在线网站设计比较好的网站建设网站
  • 河南卫健委最新疫情最新消息短视频seo是什么
  • 武汉市建设工程信息网官网郑州网站优化推广
  • 珠海知业科技福州seo按天收费
  • 签名在线生成器甘肃新站优化
  • 西直门网站建设公司市场营销专业课程
  • 阜阳企业网站推广厦门百度开户
  • 平台网站建设需求ip反查域名网站
  • 微信网站建设塞尼铁克长清区seo网络优化软件
  • 自动搭建网站源码网络营销的目标
  • 【分布式 ID】详解百度 uid-generator(源码篇)
  • ABP VNext + Playwright E2E:前后端一体化自动化测试
  • ESXi6.7硬件传感器红色警示信息
  • 【Linux】1. Linux操作系统介绍及环境搭建
  • 爬虫实战案例(两个)
  • Node.js dns 模块深入解析