面向对象,微信防封原理

2019-10-21 00:44 来源:未知

1.类的特殊成员之call

<1> CharField
#字符串字段, 用于较短的字符串.
#CharField 要求必须有一个参数 maxlength, 用于从数据库层和Django校验层限制该字段所允许的最大字符数.

 缘由:公司老总举办线上活动,频繁使用H5,为了促进社交网络分享,总是用一些什么砍价、助力之类的功能,结果可想而知,活动传播被终端,老总很是生气,身为技术负责人的我被勒令整改程序,要求:必须不能让微信封了活动断了传播,领导命令如山,熬夜挑灯,搜索了不少材料,请教了不少朋友,尝试了各种方法,我先分享第一个方法如下:

 1 class SpecialMembers:
 2     #类的构造方法
 3     def __init__(self):
 4         print("构造了一个方法")
 5     
 6     def __call__(self):
 7         print("构造了一个对象")
 8 
 9 #创建一个对象,并执行类的构造方法
10 obj = SpecialMembers()
11 #执行对象的构造方法
12 obj()
13 #先执行类的构造方法,然后再执行对象的构造方法
14 SpecialMembers()()

<2> IntegerField
#用于保存一个整数.

     1、微信封锁域名,我们就多搞几个域名,让腾讯不容易监测到,大大减少被封锁的风险,

2.类的特殊成员之getitem,setitem,delitem

<3> FloatField
# 一个浮点数. 必须 提供两个参数:
#
# 参数 描述
# max_digits 总位数(不包括小数点和符号)
# decimal_places 小数位数
# 举例来说, 要保存最大值为 999 (小数点后保存2位),你要这样定义字段:
#
# models.FloatField(..., max_digits=5, decimal_places=2)
# 要保存最大值一百万(小数点后保存10位)的话,你要这样定义:
#
# models.FloatField(..., max_digits=19, decimal_places=10)
# admin 用一个文本框(<input type="text">)表示该字段保存的数据.

     第一,让分享域名和打开页面的域名分开,不用同一个。

 1 class SpecialMembers:
 2     #当执行obj['value']的时候就会自动执行__getitem__方法,并且把对象括号内的值当做__getitem__的值
 3     def __getitem__(self,item):
 4         print(item)
 5     def __setitem__(self,key,value):
 6         print(key,value)
 7     def __delitem__(self,key):
 8         print(key)
 9 
10 #创建一个对象
11 obj = SpecialMembers()
12 #自动执行__getitem__方法
13 obj['value']
14 #自动执行__setitem__方法
15 obj['k1'] = 'values'
16 #自动执行__delitem__方法
17 del obj['key']

<4> AutoField
# 一个 IntegerField, 添加记录时它会自动增长. 你通常不需要直接使用这个字段;
# 自定义一个主键:my_id=models.AutoField(primary_key=True)
# 如果你不指定主键的话,系统会自动添加一个主键字段到你的 model.

     第二,让每次分享出去的域名,都用子域名,而且用动态子域名,所有子域名都解析到相同的程序即可。例如,aafs.111.com,fdfff.111.com ;  两个虽然都是一个域名,但不相同,更不容易被监测到。即使被检测到,子域名被封了,主域名还在,其它的子域名仍然可用,非常划算。

3.类的特殊成员之dict

<5> BooleanField
# A true/false field. admin 用 checkbox 来表示此类字段.

    第三,多准备一些一级域名,例如 xxx.com , yyy.com   这是必须的,因为子域名或者主域名都有可能被封锁,所以,必须准备多个,应对突发情况。

获取类或对象中的所有成员

<6> TextField
# 一个容量很大的文本字段.
# admin 用一个 <textarea> (文本区域)表示该字段数据.(一个多行编辑框).

    前两种情况都比较好整,第三种情况,遇到了困难,一是因为需要备案的域名,不知道去哪里购买 ,找了很久也没找到,二是后台如何能及时的检测到某个域名被微信封锁屏蔽了呢?问了一些朋友,加上自己的测试对比,我发现这个还不错,响应速度够快,一直挺稳定的,价格也够公道,我是屌丝我就喜欢小米,所以我找东西就弄性价比高的()

TAG标签:
版权声明:本文由澳门金莎娱乐网站发布于澳门金莎唯一指定官网,转载请注明出处:面向对象,微信防封原理