模拟登录脚本之搬瓦工bandwagonhost

老早写的,都忘了当初想干啥了。。。。 半成品,留个坑,待填。 #!/usr/bin/env python # encoding: utf-8 import cookielib import requests def http_send(url, post_data='', **kwargs): cookie_handler = cookielib.MozillaCookieJar('cookie.txt') try: cookie_handler.load(ignore_discard=1) except cookielib.LoadError, e: print e + "new cookie file" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36'} if post_data: req = requests.post(url, data=post_data, cookies=cookie_handler) else: req = requests.get(url) print req.headers for c in req.cookies: cookie_handler.set_cookie(c) cookie_handler.save(ignore_discard=1) return req.content if __name__ == '__main__': # init cookie print http_send('http://localhost/clientarea....

May 17, 2015 · 2 min · Me

安装shadowsocks-python并启用chacha20加密

原版shadowsocks使用python写的,源码在此 https://github.com/shadowsocks/shadowsocks 下面老高写一个如何安装shadowsocks并且开启chacha20加密的方法 老高的运行环境 centos6 + python2.6 ...

April 27, 2015 · 1 min · Me

pillow解决encoder-zip-not-available问题

最近写程序用到了这个模块,但是貌似在 <Python2.7 的环境下用总是会出现这个问题。 ...

April 27, 2015 · 1 min · Me

使用supervisor托管shadowsocks

由于shadowsocks在服务器运行可能会不稳定,所以我们将shadowsocks的运行管理任务交给supervisor,这样如果ss挂了,supervisor会帮我们自动将shadowsocks重新启动,保证了ss的稳定性。 supervisor是什么我就不多介绍了,老高在此只强调一点,他是由python编写的,官网在此 http://supervisord.org/ 本文也可作为supervisor的入门文章使用,欢迎大家交流! ...

March 10, 2015 · 1 min · Me

小米路由器mini折腾之Python篇

上回老高写了翻墙篇,寻思着这openwrt下能不能跑个python,继续折腾! ...

February 10, 2015 · 1 min · Me

python的飞信发送类

pyfetionpyfetionpyfetion参照着php版的接口写的 目前测试使用没问题,预留了保存cookie和token的功能,可以减少几次请求,以后慢慢加吧! 目前给自己发通知还是妥妥的。

January 31, 2015 · 1 min · Me

编码漫谈

编码一定是程序员永远的痛,不知道老高能不能救到你。 以下命令的操作环境:centos6 + python2.6 ...

January 23, 2015 · 1 min · Me

python格式化输出dict等集合对象

调试程序的时候,如果需要打印出变量的信息,在python中很容易,一句print即可,他几乎可以打印任何类型的对象,不像PHP中,有一堆echo(),print(),print_r(),var_dump(),让人头疼! 但是PHP的打印函数有个好处,就是打印格式良好,而Python的打印信息就不是很友好了,如 # 模拟一个很大的键值对 dic = {} for i in xrange(201): dic[i] = "value for %d" % i print dic 其结果我就不打印了,总之很难看! 如何让python那冗长而且没有格式的打印变得更直观,方法有两种。 自定义dump 此方法来自stackoverflow # 以后需要有格式的打印一个集合对象,直接使用dump(xxx)即可! # 不要忘了import sys import sys def dump(obj, nested_level=0, output=sys.stdout): spacing = ' ' if type(obj) == dict: print >> output, '%s{' % ((nested_level) * spacing) for k, v in obj.items(): if hasattr(v, '__iter__'): print >> output, '%s%s:' % ((nested_level + 1) * spacing, k) dump(v, nested_level + 1, output) else: print >> output, '%s%s: %s' % ((nested_level + 1) * spacing, k, v) print >> output, '%s}' % (nested_level * spacing) elif type(obj) == list: print >> output, '%s[' % ((nested_level) * spacing) for v in obj: if hasattr(v, '__iter__'): dump(v, nested_level + 1, output) else: print >> output, '%s%s' % ((nested_level + 1) * spacing, v) print >> output, '%s]' % ((nested_level) * spacing) else: print >> output, '%s%s' % (nested_level * spacing, obj) pprint 此方法来自官方,可以自定义缩进,宽度等信息。...

January 22, 2015 · 1 min · Me

模拟登录联通10010.com查询宽带余额

家里的宽带是包年按天扣费,时间长了就忘了改什么时候续费了。 抽时间写了个模拟登录10010.com的脚本,自动查询余额。 每天中午12点查一次,省得下次又欠费了。 模拟登录的过程很简单,获取查询的cookie需要两步请求,拿到cookie后可以随意查询。 有TX想看源码么? 已贴源码 #!/usr/bin/env python # encoding: utf-8 """ @version: 0.2 @author: phpergao @license: Apache Licence @contact: endoffight@gmail.com @site: http://www.phpgao.com @software: PyCharm @file: 10010.py @time: 15-1-3 下午6:06 一键查询联通宽带余额 """ import urllib2 import cookielib import json class Crawl(): def __init__(self, username, passwd, debug=False): (self.username, self.passwd) = (username, passwd) self.cookie = cookielib.CookieJar() cookieHandler = urllib2.HTTPCookieProcessor(self.cookie) self.is_debug = debug if self.is_debug: httpHandler = urllib2.HTTPHandler(debuglevel=1) httpsHandler = urllib2.HTTPSHandler(debuglevel=1) opener = urllib2.build_opener(cookieHandler, httpHandler, httpsHandler) else: opener = urllib2....

January 6, 2015 · 2 min · Me

python接受命令选项-h

python在用命令行的时候能够接受很多参数,到底是如何接受那些参数和选项呢? import sys, getopt opts, args = getopt.getopt(sys.argv[1:], "hi:o:") input_file="" output_file="" for op, value in opts: if op == "-i": input_file = value elif op == "-o": output_file = value elif op == "-h": usage() sys.exit()

January 5, 2015 · 1 min · Me