自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

司开星的专栏

Python 开发者

  • 博客(56)
  • 收藏
  • 关注

原创 私有接口添加HTTPS私有证书及客户端验证

有些布在公网的私有接口不想被他人使用, 需要添加一些验证方式。一般的公开接口只有客户端的TOKEN认证, 这样可以验证提交到接口的数据是否是允许的客户端提交的. 但这样无法验证接口的真实性, 也无法防止中间人攻击。本文主要研究给私有接口添加HTTPS连接并验证客户端真实性。服务器证书生成私有证书要生成证书首先要有个私钥:openssl genrsa -out ssl.k...

2018-08-26 01:55:20 3427

原创 如何向PyPi(pip)提交模块

向 https://pypi.python.org/pypi 提交自己的模块步骤如下:在模块中添加几个必需文件;使用打包命令将模块打包;使用模块twine将模块上传到pypi。所需文件setup.pysetup.py 中包含了你要提交模块的大部分信息。其写法如下:from setuptools import setup, find_packagessetup...

2018-08-26 01:53:56 2954

原创 调试卡死的Python进程

有时线上程序运行过程中出现卡死(阻塞),无法通过断点或log找到问题,需通过其他方式调试。本文基于CentOS 7。通用调试方法查看进程号: ps auxf查看此进程卡在哪个系统回调:strace -p pidpid替换为实际进程号。此命令会返回一个系统回调和文件操作符。检查上一条命令系统回调的文件操作符的含义:ls -l /proc/pid/fd数字就是文件操作...

2018-08-26 01:53:12 14818

原创 Python2 异步网络请求库比较

封装库grequests简介requests作者写的基于gevent的异步请求库。地址https://github.com/kennethreitz/grequests示例import grequestsurls = [ 'http://www.heroku.com', 'http://python-tablib.org', ...

2018-08-26 01:52:28 3499

原创 理解Python函数装饰器

旧文更新后重发。 Python中的函数装饰器是一种能在不修改函数的前提下给函数添加额外功能的写法。什么是装饰器一个函数修改需求假设已经存在一个函数:import randomdef func_a(): print("I'm func_a, get a random number %s" % random.random())现在想给函数加一句显示 ,最简单的...

2018-08-26 01:41:51 391

原创 Python 的列表推导式

Python 的列表推导式、字典推导式列表推导式列表解析是用一行代码实现根据一个列表生成另一个列表的写法。基本写法要实现从一个列表中获取满足条件的某些元素组成新的列表:[x for x in [1,2,3,4] if x % 2 == 0]这行代码输出是 [2, 4]。如果没有 if 的话就是直接复制整个列表。其他用法修改新列表的元素:[x/2 for x in

2017-08-12 05:50:48 614

原创 Sentry API 使用笔记

Sentry API 使用笔记本文为使用Sentry API的笔记, 并非搭建Sentry的笔记官方文档: https://docs.sentry.io/api/官方社区: https://forum.sentry.io/官方提醒:(2017年5月) The current version of the web API is known as v0 and is conside

2017-08-12 05:49:47 7081

原创 lxml.html 中几种解析器的区别

lxml.html 中几种解析器的区别lxml 自2.0版本起有了专门用于处理html的模块lxml.html, 模块中包含几种解析html的方式, 以载入html文档为例:from lxml.html import fromstring, soupparser, html5libhtml = 'x=1'a = fromstring(html)b = soupparser.fro

2017-08-12 05:48:57 12113

原创 pipenv 简要指南

pipenv 简要指南pipenv是requests作者的一个项目, 整合了virtualenv, pip, pipfile, 用于更方便地为项目建立虚拟环境并管理虚拟环境中的第三方模块.安装直接使用pip即可安装:pip install pipenv新建虚拟环境pipenv管理虚拟环境是按项目来的, 要为你的某个项目新建一个虚拟环境, 只需要在项目目录下运行如下命令:

2017-08-12 05:48:25 8296

原创 bettercap

bettercap简单使用笔记安装sudo gem install bettercap简单使用在所有设备的网页插入html:sudo bettercap --proxy-module injecthtml --html-file a.html监控所有设备流量:sudo bettercap -X监控指定设备流量:sudo bettercap -X -T 192.1

2017-08-12 05:47:57 1244 1

原创 使用 PyPDF2 操作 pdf 文件

使用 PyPDF2 操作 pdf 文件Python 中读写 pdf 文件最常用的模块是 PyPDF2。PyPDF2 将读与写分成两个类来操作:from PyPDF2 import PdfFileWriter, PdfFileReaderwriter = PdfFileWriter()reader = PdfFileReader(open("document1.pdf", "rb"

2017-08-12 05:47:20 10213

原创 CC许可协议详解

CC许可协议详解简要说明协议内容CC许可协议(知识共享许可协议)是博客中最常见的许可协议。协议中主要规定了以下四种权利:署名(BY):转载此作品时要附上原作者名称等信息。非商业使用(NC):这个作品不能被用作商业目的。禁止演绎(ND):转载时不能修改原内容。相同方式共享(SA):如果转载时修改了原内容那必须以相同的CC许可协议发布修改后的内容。四种权利可以相互组合形成

2017-08-12 05:43:26 12636 1

原创 CC许可协议详解

CC许可协议详解简要说明协议内容CC许可协议(知识共享许可协议)是博客中最常见的许可协议。协议中主要规定了以下四种权利:署名(BY):转载此作品时要附上原作者名称等信息。非商业使用(NC):这个作品不能被用作商业目的。禁止演绎(ND):转载时不能修改原内容。相同方式共享(SA):如果转载时修改了原内容那必须以相同的CC许可协议发布修改后的内容。四种权利可以相互组合形成

2017-08-12 05:39:40 2116

原创 Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择

在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。

2016-08-01 10:18:27 34749

原创 扩展名改为pyw后无法运行的问题记录

py的扩展名改为pyw后在windows下直接双击运行会调用pythonw执行程序,不会打开控制台窗口,适合用来运行GUI界面的python源码。但在一次实际使用过程中发现在将扩展名py改成pyw后程序无法正常运行,某些功能不正常。由于没有控制台也看不到有什么错误。改回扩展名后则正常。上网搜索之后找到一个类似问题,http://stackoverflow.com/questions/24835155

2016-07-27 14:15:50 8006

原创 一次失败的QThread多线程加载Webpage.load()页面的尝试

问题前段时间在用PyQt4写网页加载部分时一开始用的从QWebView.load()(QWebFrame.load()),但由于这样会卡住GUI,于是换了QNetworkAccessManager模块来访问网络,返回内容用setcontent()传递给QWebView:http://blog.csdn.net/chroming/article/details/51832244当时还觉得解决了一个挺有

2016-07-19 15:09:19 1882

原创 从QWebView.load()(QWebFrame.load())切换到QNetworkAccessManager引起的CSS加载不了的问题记录

从QWebView.load()(QWebFrame.load())切换到QNetworkAccessManager引起的CSS加载不了的问题记录近期使用PyQt4 写了一个程序,其中有个部分是显示网页。一开始使用的是简单的QWebView.load()(QWebFrame.load() 也能实现同样的功能):self.webView.load(QUrl(url))显示效果没什么问题。但在实际使用中

2016-07-05 15:50:57 3711

原创 Python连接SQL Server入门

Python连接SQL Server入门模块import pyodbc模块说明pyodbc模块是用于odbc数据库(一种数据库通用接口标准)的连接,不仅限于SQL server,还包括Oracle,MySQL,Access,Excel等。另外除了pyodbc还有其他几种连接SQL server的模块,感兴趣的可以在这里找到:https://wiki.python.org/moin/SQL%20Ser

2016-05-30 23:02:50 55730 4

原创 HTTPS中的对称密钥加密,公开密钥加密,数字证书

HTTPS中的对称密钥加密,公开密钥加密,数字证书密钥我们将未加密的内容称为明文,加密之后的内容称为密文。简单来说,要加密一段明文,可以将这段内容输入到一个加密函数中,输出密文。但这种简单的加密方式存在被人盗取到加密函数从而破解明文的危险,且加密函数一般构成复杂,一旦被盗取更换成本较高。于是人们想出了一个办法,在加密函数中再添加一个参数,这个参数只有通信双方知道,没有参数则无法正确解密出密码。这个参

2016-03-28 09:06:22 8717 1

原创 详解HTTPS中数字证书验证系统

关于浏览器验证网站数字证书的流程网上的资料一般讲的都不是很清楚。在查阅了不少资料后终于搞清楚这部分。CA下发给网站的证书都是一个证书链,也就是一层一层的证书,从根证书开始,到下级CA,一层一层,最后一层就是网站证书。浏览器收到服务器发送的证书后,需要验证其真实性。而证书的签名是通过签名算法和上级CA的私钥生成的,并非很多文章里简单说的靠CA私钥生成。浏览器需要用上级CA的公钥才能解密签名,并与生成的

2016-03-28 09:04:26 7349 2

原创 SAE 上使用PHP搭建微信公众号后台

SAE 上使用PHP搭建微信公众号后台准备阶段SAE准备SAE的应用平台提供了一个语言环境。比如提供了PHP环境的应用即可运行PHP代码。当然环境中也可以放HTML和CSS,将要展示的页面命名为index.html即可。SAE的申请略过。创建一个PHP5.6空应用,代码管理中打开git。本地文件就可以通过Git命令上传到SAE上了。具体命令SAE页面有写。

2016-03-22 14:21:14 3788 1

原创 MySQL(MariaDB) 入门

MySQL(MariaDB) 入门MariaDB是MySQL的开源实现。 配置文件为/etc/my.cnfSQL语句大小写不敏感。 SQL使用单引号环绕文本值,数字则不使用符号环绕。登录安装后需要先启动MySQL: centos下: systemctl start mariadb使用命令登录MySQL:mysql -u root -proot初始无密码可直接回车进入。如果需要给root添加密

2016-03-21 22:01:27 603

原创 Mac 下Python 连接MySQL及使用

Mac 下Python 连接MySQL及使用安装首先需要安装mysql或mariadb: brew mysql(或brew mariadb)下载Python连接MySQL的接口模块MySQLdb: 地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 下载zip包后解压出来,进入目录,使用命令安装:(详见目录下INSTALL文件)python s

2016-03-20 17:05:09 3825

原创 多进程,多线程,协程

多进程,多线程,协程多进程linux系统可通过os.fork()复制当前进程状态作为子进程。复制时子进程返回0,父进程返回子进程的pid. 子进程可通过os.getppid()获取父进程的pid.同时os.getpid()可获得当前进程的pid. import os print 'Process (%s) start...' % os.getpid() pid = os.fo

2016-01-28 21:15:10 1613

原创 Surge SS模块MD5验证

根据从几个地方下载的ss模块的MD5对比,Surge的SS模块的MD5为:f7653207090ce3389115e9c88541afe0

2015-12-01 14:48:44 1648

原创 SecureCRT命令行参数

SecureCRT命令行参数翻译自官方帮助文档。标准命令行参数/ARG +主题:可以在运行时给SecureCRT脚本传递参数。在一个命令中可以使用多个/ARG参数/COLOR_SCHEME +方案:设置该会话的颜色方案/F +文件夹:改变运行路径。如果没有此文件夹则新建。/FIREWALL +防火墙名:此会话使用特定防火墙连接/LOG +文件名:指定此会话的日志文件/MAC_COLS +

2015-11-25 14:09:01 10949 3

原创 HMC V6重启(关机)方式

HMC V7重启直接在”HMC管理”中可以找到,但是在使用HMC V6时想重启找了半天也没找到在哪重启。后来才发现其实是先注销才能重启。方法是:Console–Exit–Exit now–Reboot Console.

2015-11-09 14:36:49 3786

原创 P7 740(8204-E2B)更换内存

P7 740(8204-E2B)更换内存查看问题内存状态及位置1.使用HMC进入ASM(操作-LED状态–启动Advanced System Management–帐号密码admin admin)2.查看内存(System Configuratio–Hardware Deconfiguratio–Memory Deconfiguration)选择模块continue查看问题内存位置及状态。(正常内存

2015-10-16 22:06:42 1455

转载 Subversion(SVN)使用入门

Subversion(SVN)使用入门SVN是集中式的信息共享系统。它使用拷贝-修改-合并 方案来解决文件共享问题。其中服务端的SVN文件库称为版本库。Subversion版本库URLfile:/// 直接版本库访问(本地磁盘)http:// 通过配置Subversion的Apache服务器的WebDAV协议https:// 与http://相似,但是包括SSL加密。svn:// 通过

2015-10-11 09:20:55 678

原创 SAE导入第三方模块详细说明

SAE导入第三方模块详细说明SAE自带的模块很少,还好SAE支持自己导入第三方模块。导入第三方模块的方法如下:安装sae本地环境直接pip sae-python-dev或easy_install sae-python-dev即可。安装第三方包在需要使用第三方库的当前版本目录下使用如下命令将第三方库安装到本地:saecloud install packagename如果应用的依赖关系比较多,也可以这些

2015-09-09 21:21:50 2694

原创 mac版sametime最新版下载

来自IBM官网。Mac版最新版9.0.0。http://share.weiyun.com/29115d0a3bde3d1c52af58fc9ccf35f4

2015-09-08 16:24:59 963

转载 AIX系统删除不需要的用户和组

AIX系统删除不需要的用户和组本文首先介绍一些AIX缺省用户和组,后段才是可以删除的用户和组系统缺省特殊用户和组AIX® 提供一组缺省的系统特殊用户帐户,以阻止 root 和系统帐户拥有所有操作系统文件和文件系统。注意: 除去系统特殊用户帐户时应谨慎。可以通过在 /etc/security/passwd 文件相应行的开头插入一个星号(*)来禁用特定帐户。然而,请注意不要禁用 root 用户帐户。如果

2015-09-06 16:42:51 12785

原创 python中面向对象的类,方法,实例

python中面向对象的类,方法,实例编程入门学习中经常看到面向对象的类,方法,实例的概念。类类即种类,也就是事先定义的特征模版,用于创建一些具有相同特征的对象。python中的类使用如下语句定义:class Student(object): pass每个类都需要继承一个父类,如果没有父类需要继承默认object类。实例实例即通过类创建的具有某些属性的特定对象。比如通过刚刚的Student类创造

2015-09-05 22:57:03 946

原创 NIM备份出现0042-154报错的解决办法

NIM备份出现0042-154报错的解决办法公司近期需要迁移一个AIX分区,准备先使用NIM进行备份再安装到新分区上。但在准备使用NIMserver对分区进行备份时遇到 0042-154 the file or directory does not exist。弄了两天终于找到原因,特此记录下。对于这个错误IBM Kownledge center只有如下解释:0042-154说明 NIM 要使用

2015-08-25 22:25:24 1127

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-08-12 12:38:06 469

原创 python模拟登录有验证码的网站记录

这两天在写模拟登录有验证码的网站时走了不少弯路,在解决后特记录下来以供大家参考。 之前写过几个没有验证码的网站模拟登录,十分简单。最近想爬本校新系统的个人成绩: http://202.119.81.113:9080/njlgdx/ 但这个页面登录是需要验证码的。之前没学过GUI所以想先试试能不能直接通过程序识别验证码。搜索了一下发现python上有个常用的图片识别模块:pytesser。但在实

2015-06-24 14:59:27 1141

原创 Acfun自动签到程序

Acfun每天签到可以加经验。以下是Acfun自动签到程序(需在源码中填账号密码才可正常签到):# -*- coding:utf-8 -*-import urllibimport urllib2import cookielib#初始化一个CookieJar来处理Cookie的信息# cookie = cookielib.CookieJar()#创建一个新的opener来使用我们的Cooki

2015-06-15 12:54:11 2577

原创 Python抓取上海各地区房价平均值

昨天用Python写了一个抓取上海地区二手房价格的程序,Python2.7,数据来自赶集网。由于在赶集网查看房价不需要登录,所以程序也十分简单。程序代码如下:# -*- coding:utf-8 -*-import requestsimport re#本程序用于抓取赶集网上海各地区二手房房价均值,默认抓取页数为50页。#使用python语言,requests库抓取网页,re库用于正则抓取。pr

2015-06-12 14:15:55 4887

原创 ACER 4750G开机卡在LOGO解决办法

前言:笔者在电脑遇到卡LOGO问题时在网上翻了好多的帖子都没找到足够详细的解决办法,故在解决问题之后决定写一个对新手比较友好的教程帖。感谢之前在网上分享自己解决BIOS问题心得的各位楼主。最近在安装windows10预览版时4750G出了点问题,重启之后就卡在LOGO界面,BIOS进度条卡在75%左右,BIOS也进不了。

2015-05-08 12:28:40 19072

原创 让你的ipad同时运行两个或多个程序

IOS一直以来就是单程序运行的系统,对于手机来说差不多正好,但对IPAD这种大屏幕设备来说某些情况下单程序运行有些浪费了,比如在仅仅挂一些不需要怎么操作的网游时如果能再同时开个其他程序岂不是很完美?今天本人给各位推荐一个能在ipad上同时运行多个程序的方法。1.首先需要你的Ipad是IOS8.0-8.12系统且已经越狱过。在cydia搜索multify下载,BIGBOSS源就有,5美元。如果确

2015-03-31 20:24:49 11388

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除