python使用redis实现ip代理池

#使用apscheduler库定时爬取ip,定时检测ip删除ip,做了2层检测,第一层爬取后放入redis——db0进行检测,成功的放入redis——db1再次进行检测,确保获取的代理ip的可用性importrequests,redisimportpandasimportrandomfromapscheduler.schedulers.blockingimportBlockingSchedulerimportdatetimeimportloggingdb_conn=redis.ConnectionPool(host="*.*.*.*",port=6379,password="123456")redis_conn_0=redis.Redis(connection_pool=db_conn,max_connections=10,db=0)redis_conn_1=redis.Redis(connection_pool=db_conn,max_connections=10,db=1)#删除redis数据库里的ipdefremove_ip(ip,...

from Crypto.Cipher import AES加密解密

fromCrypto.CipherimportAESimportbase64"""AES加密算法"""#加密defencryt(str,key):BS=AES.block_sizepad=lambdas:s+(BS-len(s)%BS)*chr(BS-len(s)%BS)cipher=AES.new(key,AES.MODE_ECB,str)msg=cipher.encrypt(pad(str))msg=base64.encodestring(msg)returnmsg#解密defdecrypt(enStr,key):unpad=lambdas:s[0:-ord(s[-1])]cipher=AES.new(key,AES.MODE_ECB)decryptByts=base64.decodestring(enStr)msg=cipher.decrypt(decryptByts)msg=unpad(msg.decode())returnmsgstr="mynameismaple"#此处的key的长度需要16位key="ffm1111111111111"res=encryt(str,key)...

golang模块viper读取配置文件

Viper是一个方便Go语言应用程序处理配置信息的库。它可以处理多种格式的配置。它支持的特性:设置默认值从JSON、TOML、YAML、HCL和Javaproperties文件中读取配置数据可以监视配置文件的变动、重新读取配置文件从环境变量中读取配置数据从远端配置系统中读取数据,并监视它们(比如etcd、Consul)从命令参数中读物配置从buffer中读取调用函数设置配置信息简单的设置默认值viper.SetDefault("time","2019-7-14")viper.SetDefault("notifyList",[]string{"maple","ffm"})监视配置文件,重新读取配置数据packagemainimport("fmt""github.com/fsnotify/fsnotify""github.com/spf13/viper")viper:=viper.New()viper.WatchConfig()viper.OnConfigChange(func(efsnotify.Event){fmt.Println("Configfilechanged:",e.Name...

MyEclipse数据库反向生成实体类

MyEclipse数据库反向生成实体类“计应134(实验班)凌豪”当我们在开发项目涉及到的表太多时,一个一个的写JAVA实体类很是费事。然而强大的MyEclipse为我们提供简便的方法:数据库反向生成实体类其中具体步骤大体如下:window-->openPerspective-->MyEclipseJavaPersistence 操作后会出现一个视图DBBrower:MyEclipseDerby 在空白区点击右键,新建一个数据库对象。 我用的sqlserver2008 2.在DBBrower下右击点解new会出现DatabaseDriver,根据不同实际的自己实际情况填写Drivername、ConnectionURL等然后添加进相应的JAR包,填写完毕后点击finish按钮。  3.创建一个新的Web项目test(File->new->WebProject)然后选中项目右键-->MyEclipse-->addHibernateCapabilities 右键...

ecshop 头部库 page_header.lbi 里的{insert name='cart_info'} 什么意思

这是个调用的函数,函数位置在includes/lib_insert.php文件里的insert_cart_info函数部分;/***调用购物车信息**@accesspublic*@returnstring*/functioninsert_cart_info(){$sql='SELECTSUM(goods_number)ASnumber,SUM(goods_price*goods_number)ASamount'.'FROM'.$GLOBALS['ecs']->table('cart')."WHEREsession_id='".SESS_ID."'ANDrec_type='".CART_GENERAL_GOODS."'";$row=$GLOBALS['db']->GetRow($sql);if($row){$number=intval($row['number']);$amount=floatval($row['amount']);}else{$number=0;$amount=0;}$str=sprintf($GLOBALS['_LANG']['cart_info'],$n...

Javascript的匿名函数

functionfnMethodName(x){alert(x);}函数字面量(FunctionLiterals):二、函数字面量和Function()构造函数的区别vary="global";functionconstructFunction(){vary="local";returnnewFunction("returny");//无法获取局部变量}alert(constructFunction()());//输出"global"和函数关键字定义相比Function()构造器有自己的特点且要难以使用的多,所以这项技术通常很少使用。而函数字面量表达式和函数关键字定义非常接近。考虑前面的区别,虽然有消息说字面量的匿名函数在OSX10.4.3下的某些webkit的引擎下有bug,但我们平常所说的匿名函数均指采用函数字面量形式的匿名函数。更多详细内容可以阅读《JavaScript:TheDefinitiveGuide,5thEdition》的Functions那章。函数字面量:首先声明一个函数对象,然后执行它。voidfunction(){alert(3);}()这三种方式是等同的,hed...
代码星球 代码星球·2020-04-07

如何快速使用IP代理池?

 1.使用自己搭好的代理池或者别人搭建好的代理池,一般都是网页api的形式。【建议多去Github逛逛,有你意想不到的收获,也能提高英语和参与一点项目的改进】(1)第一步当然是你的api地址了。例如: self.PROXY_POOL_URL='http://localhost:5000/get' (2)向代理池的api发送请求获取返回的IP【一般以字符串返回】defget_proxy(self):#代理池并未启用try:response=requests.get(self.PROXY_POOL_URL)ifresponse.status_code==200:return{'http':response.text,'https':response.text}#proxies=Movie.get_proxy(self)exceptConnectionError:returnNone (3)获取到之后,注意requests接受的代理的格式是字典格式2.此外,可以从网上由IP代理的网站边抓取边使用,或者抓取了之后放到数据库或者一个网页的api上方便使用&...

Linux内核TCP/IP参数分析与调优

1.下图是数据通信的一个过程:TCP三次握手.TCP数据传输.TCP的四次断开SYN:(同步序列编号,SynchronizeSequenceNumbers)该标志仅在三次握手建立的时候有效。表示一个新的TCP连接请求。ACK:(确认编号,AcknowledgementNumber)是对TCP请求的确认标志,同时提示对端系统已经成功连接所有数据。 FIN(结束标志,Finish)用来结束一个TCP会话,但对应端口仍处于开放状态,准备接受新数据。下面分别解析11个阶段的Server端和Client端的TCP状态。 1)、LISTEN:首先服务端需要打开一个socket进行监听,状态为LISTEN./*Thesocketislisteningforincomingconnections.侦听来自远方TCP端口的连接请求*/ 2)、SYN_SENT:客户端通过应用程序调用connect进行activeopen.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT./*Thesocketisactivelyattemptingtoestab...

iptables 指令语法

iptables指令语法:iptables[-ttable]command[match][-jtarget/jump]    -t参数用来指定规则表,内建的规则表有三个,分别是:nat、mangle和filter,当未指定规则表时,则一律视为是filter。个规则表的功能如下:        nat此规则表拥有Prerouting和postrouting两个规则链,主要功能为进行一对一、一对多、多对多等网址转译工作(SNATDNAT),由于转译工作的特性,需进行目的地网址转译的封包,就不需要进行来源网址转译,反之亦然,因此为了提升改写封包的率,在防火墙运作时,每个封包只会经过这个规则表一次。如果我们把封包过滤的规则定义在这个数据表里,将会造成无法对同一包进行多次比对,因此这个规则表除了作网址转译外,请不要做其它用途。        mangle此规则表拥有Prerouting、FORWAR...
代码星球 代码星球·2020-04-07

iptables常用规则

屏蔽指定的IP地址以下规则将屏蔽BLOCK_THIS_IP所指定的IP地址访问本地主机:BLOCK_THIS_IP="x.x.x.x"iptables-AINPUT-ieth0-s"$BLOCK_THIS_IP"-jDROP(或者仅屏蔽来自该IP的TCP数据包)iptables-AINPUT-ieth0-ptcp-s"$BLOCK_THIS_IP"-jDROP允许环回(loopback)访问iptables-AINPUT-ilo-jACCEPTiptables-AOUTPUT-olo-jACCEPT仅允许来自指定网络的SSH连接请求以下规则仅允许来自192.168.100.0/24的网络:iptables-AINPUT-ieth0-ptcp-s192.168.100.0/24--dport22-mstate--stateNEW,ESTABLISHED-jACCEPTiptables-AOUTPUT-oeth0-ptcp--sport22-mstate--stateESTABLISHED-jACCEPT上例中,你也可以使用-s192.168.100.0/255.255.255.0作为网络...
代码星球 代码星球·2020-04-07

iptables 介绍

规则规则链的作用:对数据包进行过滤或处理链的作用:容纳各种防火墙规则链的分类依据:处理数据包的不同时机默认包括5种规则链INPUT:处理入站数据包OUTPUT:处理出站数据包FORWARD:处理转发数据包POSTROUTING:在进行路由选择后处理数据包PREROUTING:在进行路由选择前处理数据包规则表表的作用:容纳各种规则链表的划分依据:防火墙规则的作用相似默认包括4个规则表raw表:确定是否对该数据包进行状态跟踪mangle表:为数据包设置标记nat表:修改数据包中的源,目标ip地址或端口filter表:过滤数据包规则表之间的顺序:raw--mangle--nat--filter规则链之间的顺序:入站:PREROUTING--INPUT    出站:OUTPUT--POSTROUTING    转发:PREROUTING--FORWARD--POSTROUTING规则链的匹配顺序:按顺序依次检查,匹配即停止(LOG策略列外)若找不到相匹配的规则,则按该链的默认策略处理 raw表:PRER...
代码星球 代码星球·2020-04-07

linux禁止IPv6

1.禁止加载IPv6模块#echo"installipv6/bin/true">/etc/modprobe.d/disable-ipv6.conf每当系统需要加载IPv6模块时,强制执行/bin/true来代替实际加载的模块。2.关闭ip6tables#chkconfigip6tablesoff3.禁用基于IPv6网络,使之不会被触发启动#vi/etc/sysconfig/networkNETWORKING_IPV6=no4.禁用网卡IPv6设置,使之仅在IPv4模式下运行#vi/etc/sysconfig/network-scripts/ifcfg-ethX或vi/etc/sysconfig/network-scripts/ifcfg-em1XIPV6INIT=noIPV6_AUTOCONF=no5.重启生效#reboot6.验证是否生效#lsmod|grepipv6如果没有任何输出就说明IPv6模块已被禁用,否则被启用方法二:在/etc/modprobe.d/dist.conf中追加aliasnet-pf-10offaliasipv6off 重启即可...
代码星球 代码星球·2020-04-07

什么是僵尸账户------你的邮箱是否已被僵尸化

1、僵尸顾名思义就是框架都有,功能齐全,只是已经没有他的灵魂,失去他的意识。不能作用自己的思想,任人摆布的一个线偶人,我们平时为了查询一些资料或者认证账户的什么可能需要注册一个账户    比方说经常注册一些 学习网站 英语学习网站 社交网站 等等,那么有些网站我们使用的频率较高,经常会维护,甚至修改密码,绑定手机账户等。存在大量的网站和客户端的一些认证账户在获取资料或者通讯的信息之后,再不需要,这种账户很有可能沦落为僵尸账户。在注册一个账户的的时候我们为了方便大家找回自己忘记的密码,一般不中要的网站和移动客户端使用邮箱注册,或者手机注册,验证邮箱等。在注册信息的时候会不必要的的要求填写一些个人信息,这样势必会导致信息被提交到对应的服务器上,但是当前网络环境下很多公司的安全服务投入是及其少的导致大量的数据被泄露。没有绝对的安全。只有你找不到的信息。网络快速的发展导致信息的泛滥,个人信息扑街式贱卖。尤其是类似于找工作提交的信息更加的容易被盗窃。2、获取者写僵尸账户的目的何在   发...

IP positioning check position

1、如何找到网上散布不法言论的人的地理位置    比方像微博发布的时候都会自动添加主机网络地址,需要对头文件进行分析找到IP地址然后进行反查IP地址的位置,如果是可以与要查的终端可以进行通信,可以对之间流量分析,追踪源端的IP地址在进行反查地址位置,如下图获得终端的IP地址后,查询获得GPS的地址位置在地图上就很准确的获得  在和同学发信息的时候,可以切换到资源管理器下,判断分析同学的IP网络地址。当找到地址之后再反查,(下面的是在局域网上做的实验)但是我发现资源管理器中的流量比方说TIM在中间的路由或者服务上会中断,也就是说你看到的只是中继的网关或者服务器的IP地址,这样并不能扎到终端的IP地址不过网上有QQ的IP插件可以将通信的IP终端记录下来,可以试着去找一下2、如果是通信双方之间有邮件来往,这样就可以查询,通过右键属性查看邮件的的头文件信息找到发送者的IP地址,如下面使用火狐的邮箱来查看收到的邮件的信息 查到发件人的IP地址后就尅查询IP地址的物理地址信息3、换个思路如果使用wireshark可以通过通信信息...
首页上一页...381382383384385...下一页尾页