自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

junli_chen的博客

有总结才有进步!

  • 博客(428)
  • 资源 (1)
  • 收藏
  • 关注

原创 Python 使用requests发送POST请求

一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样:请求行 请求报头 消息主体HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式。服务端通过是根据请求头中的Content-Type字段来获知请求中的消息主体是用何种方式进行编码,再对消息主体进行解析。具体的编码方式包括:application

2016-12-15 15:10:04 291948 5

原创 python数据如何保存到excel中

第一步:下载xlwt首先要下载xlwt,(前提是你已经安装好了Python)下载地址:  https://pypi.python.org/pypi/xlwt/点击进去,找到下图内容下载第二个第二步:安装xlwt打开cmd,切换目录到你下载的文件地址输入python setup.py install,就安装成功了

2016-12-15 10:18:03 34270 2

原创 Python产生随机数(转)

随机整数:>>> import random>>> random.randint(0,99)21随机选取0到100间的偶数:>>> import random>>> random.randrange(0, 101, 2)42随机浮点数:>>> import random>>> random.random() 0.85415370477785668

2016-12-15 10:16:28 3803

转载 Python 提交表单数的一点简单介绍How to submit a web form

今天我们花些时间来看下三种用python提交一个web表单的方法,因此,我们用搜索引擎duckduckgo.com以"python"为关键词进行搜索,然后将结果保存为一个HTML文件,我们用python自带的urllib模块和两个第三方包:requests 和mechanize.,我们用三个小脚本来进行测试.用urllib提交一个web表单我们开始需要用到urllib和urllib

2016-12-15 10:13:37 3232

原创 python get,post提交表单

# -*- coding: cp936 -*-import urllib2,urllib,sys"""使用GET在百度搜索引擎上查询在百度的搜索条中随便输入一些内容,会有w和cl两项构成GET串此例演示如何生成GET串,并进行请求."""url = "http://www.baidu.com/s"search = [('w','python'),('cl','3')]getSt

2016-12-12 11:35:06 2896 3

转载 Python 字符串与二进制串的相互转换

一个问题,在Python中,如何将一个字符串转换为相应的二进制串(01形式表示),并且能够将这个二进制串再转换回原来的字符串。一个简单版本def encode(s): return ' '.join([bin(ord(c)).replace('0b', '') for c in s])def decode(s): return ''.join([

2016-12-12 10:20:24 69246 1

转载 Tornado web开发之简单文件上传

1、介绍我们知道,在web开发过程中,文件上传是经常用到的功能,比如上传附件,上传照片等下面我们来介绍一下利用tornado 来实现文件上传功能2.代码由于实现文件上传的表单很简单,只需要几行html,我们把他们直接嵌入到python代码中废话少说,直接上代码:#!/usr/bin/python#-*- encoding:utf-8 -*-import tornad

2016-12-12 09:41:51 2787

原创 Python时间戳转变为时间格式

time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(X))>>> X=1480585800.00>>> print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(X))2016-12-01 17:50:00

2016-12-02 20:07:02 946

转载 Python字典按值排序、包含字典的列表按字典值排序的方法

Python代码:#-*- encoding=utf-8 -*- import operator #按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1)) print sorted_x #[(0, 0), (2,

2016-11-18 19:11:39 474

原创 python 获取当前月份月初日期和月末日期

使用time模块的time.localtime()获取当前日期,使用calendar模块calendar.monthrange的来获取指定月份的天数。即可得到月初日期和月末日期,代码如下:import calendarimport timeday_now = time.localtime()day_begin = '%d-%02d-01' % (day_now.tm_year, day_

2016-11-18 14:24:13 28587 1

原创 python如何判断对象是否为字符串或者其他类型

python通过isinstance这个内置函数来判断对象的类型。例如判断对象是否为字符串:s='abc'isString = ininstance(s,basestring)上面我们用basestring作为isinstance的第二个参数,basestring是str和unicode的超类(父类),也是抽象类,因此不能被调用和实例化,但可以被用来判断一个对象是否为str或

2016-11-17 20:23:14 27224 5

转载 ubuntu永久修改主机名

ubuntu永久修改主机名 1、查看主机名在Ubuntu系统中,快速查看主机名有多种方法:其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后;其二,在终端窗口中输入命令:hostname或uname –n,均可以查看到当前主机的主机名。2、临时修改主机名命令行下运行命令:“hostname 新主机名”其中“

2016-11-17 15:39:56 229

转载 内存和硬盘的区别

在生活中,搞不清楚内存和硬盘区别的人还挺多,电脑店里也经常会出现内存和硬盘的常识性问题引来的笑话,现在小编为大家科普一下:内存和硬盘的区别。套用网络上这样一个关于内存和存储的定义,大家可能再也不会弄混淆了:你口里吃花生就CPU在处理数据,硬盘容量大小就是你的口袋大小(能放多少花生),内存大小就是你的手的大小(一次能抓多少出来)。【外观】下图展示了内存和硬盘在台式机机箱中的位

2016-11-11 14:53:36 1190

转载 python time\datatime\string直接转换

datetime的格式是:datetime.datetime(2014, 1, 5, 16, 47, 49)>>> import time>>> import datetimestring转换为datetime:>>> string = '2014-01-08 11:59:58'>>> time1 = datetime.datetime.strptime(strin

2016-11-01 19:52:55 10606

转载 使用 Python 的 jsonschema 对 json 做验证

在OpenStack中, 使用了Python的 jsonschema包, 对json字符串做了验证.Python JSON Schema Libraryhttps://pypi.python.org/pypi/jsonschemaJSON Schema Introductionhttp://json-schema.org/

2016-10-29 17:50:48 5971

原创 Python获取当前系统时间

Python获取当前系统时间import time#返回当前时间def GetNowTime():    return time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))扩展python中时间日期格式化符号:%y 两位数的年份表示(00-99)

2016-10-29 17:50:06 11036 1

原创 python给定起始和结束日期,如何得到中间所有日期

import datetimestart='2016-06-01'end='2017-01-01' datestart=datetime.datetime.strptime(start,'%Y-%m-%d')dateend=datetime.datetime.strptime(end,'%Y-%m-%d') while datestart<dateend: datestart

2016-10-27 12:36:26 15321 3

转载 转:Redis使用认证密码登录

Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用。这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性。1. 修改配置文件Redis的配置文件默认在/etc/redis.conf,找到如下行:#requirepass foobared去掉前面的注释,并修改为所需要的密码

2016-10-21 18:49:42 660

转载 Python实现从url中提取域名的几种方法

这篇文章主要介绍了Python实现从url中提取域名的几种方法,本文给出了3种方法实现在URL中提取域名的需求,需要的朋友可以参考下。从url中找到域名,首先想到的是用正则,然后寻找相应的类库。用正则解析有很多不完备的地方,url中有域名,域名后缀一直在不断增加等。通过google查到几种方法,一种是用Python中自带的模块和正则相结合来解析域名,另一种是使第三方用写好的解析模块直接

2016-10-21 17:47:27 22235

转载 遥远的救世主:电视剧《天道》

教师生涯的最后一课,花了半小时,诵读一份文件。几个学生下来,力荐电视剧《天道》,说里面政治、经济、爱情,基督、老子、如来,一应俱全。台词精妙,我们一句一句看,看不明白,只觉得好。果然这片子罕见,不能以思想取胜,却敢以哲思取巧。以一句混合主义的“神即是道,道法自然,如来”,塑造了一个超拔脱俗的人物丁元英。他是股市上的精英,却又退居古城,闭门沉思心灵解脱之道。古城女刑警芮小丹,是有着德国居留权

2016-10-15 12:58:46 2659

转载 3.请求安全-- 结合使用的安全优势总结

结合使用的安全优势与总结前言写到这里基本上笔者在请求中遇到的问题,以及运用到实践中的解决方案,基本上分为,请求唯一性,单设备登录,单点登录,MD5校验 这几种校验的小技巧,在之前都对着几种校验方式进行也一些独立的说明(还没有看过的可以先去游览查阅一下,在请求安全模块中) 在本章里面会着重说明怎么样综合使用,如何获得比较高的安全性,以及会简单介绍一下方便使用的一种高级加密方法

2016-10-15 12:53:28 272

转载 2.请求安全-- 如何验证请求的唯一性

如何验证请求的唯一性前言讲到请求的唯一性,是我在接口API中开发中遇到的一个问题,有一个需求就当当你的链接被捕获之后如何让它失效,当然是在别人没有破解规则之前!如果别人截取了你的请求可以进行大量请求攻击(防止重复请求攻击(RepeatAttack))而且会跑到逻辑层并不会在拦截器中拦截,我们要做的就是在拦截器避免这种情况,当然实现的方式有很多种ps:当然是防御不了内容被篡改

2016-10-15 12:52:59 1631

转载 1.请求安全-- MD5的必要性以及实际应用场景

MD5的必要性以及实际应用场景前言MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。PS:写这篇文章的本意是把我在工作中使用的MD5加密技巧

2016-10-15 12:52:42 392

原创 Python 安装路径, dist-packages 和 site-packages 区别

如果你手动安装python,它会直接使用目录site-packages。系统自带的Python,安装的第三库就存放到这个地址:/usr/local/lib/python2.7/dist-packages

2016-10-14 18:09:43 9901

转载 HTTP请求和数据安全

/*--------------------------- 01 HTTP请求 ----------------------*/重点:1.超文本传输协议. 2.http请求过程.{1> http协议: 超文本传输协议(Hypertext Transfer Protocol){http协议规定了客户端和服务器之间的数据传输格式.http协议是在网络开发中最常用的协议.不管

2016-10-14 17:49:12 2096

转载 如何保证http传输安全性

目前大多数网站和app的接口都是采用http协议,但是http协议很容易就通过抓包工具监听到内容,甚至可以篡改内容,为了保证数据不被别人看到和修改,可以通过以下几个方面避免。重要的数据,要加密,比如用户名密码,我们需要加密,这样即使被抓包监听,他们也不知道原始数据是什么(如果简单的md5,是可以暴力破解),所以加密方法越复杂越安全,根据需要,常见的是 md5(不可逆),aes(可逆),自由组合

2016-10-14 17:42:03 1808 2

原创 sudo: sorry, you must have a tty to run sudo

使用不同账户,执行执行脚本时候sudo经常会碰到 sudo: sorry, you must have a tty to run sudo这个情况,其实修改一下sudo的配置就好了vi /etc/sudoers (最好用visudo命令)注释掉 Default requiretty 一行#Default requiretty意思就是sudo默认需要tty终端。注释掉

2016-10-14 14:01:41 548

原创 nginx开机自启动

以下脚本保存为nginx文件放入/etc/init.d/nginx然后可以通过/etc/init.d/nginx start 命令启动nginx/etc/init.d/nginx stop 命令停止nginx/etc/init.d/nginx restart 命令重启nginx开机自动启动nginx,如果需要开机启动服务,保存好 /etc/init.d/ngin

2016-10-13 19:02:05 6570

转载 转:Redis使用认证密码登录

Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用。这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性。1. 修改配置文件Redis的配置文件默认在/etc/redis.conf,找到如下行:#requirepass foobared去掉前面的注释,并修改为所需要的密码

2016-10-13 15:26:07 300

转载 redis密码设置、访问权限控制等安全设置

redis作为一个高速数据库,在互联网上,必须有对应的安全机制来进行保护,方法有2,如下。1.比较安全的办法是采用绑定IP的方式来进行控制。 请在redis.conf文件找到如下配置# If you want you can bind a single interface, if the bind option is not# specified all the in

2016-10-13 15:01:52 2365

转载 ubuntu 安装redis两种方式 教程

方式一:下载地址:http://redis.io/download,下载最新文档版本。本教程使用的最新文档版本为 2.8.17,下载并安装:$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz$ tar xzf redis-2.8.17.tar.gz$ cd redis-2.8.17$ makem

2016-10-13 14:37:41 359

原创 用nohup执行python程序时,print无法输出

nohup Python test.py > nohup.out 2>&1 &发现nohup.out中显示不出来python程序中print的东西。这是因为python的输出有缓冲,导致nohup.out并不能够马上看到输出。python 有个-u参数,使得python不启用缓冲。nohup python -u test.py > nohup.out 2>&1 &

2016-10-13 13:13:29 4030

转载 回调函数(CALLBACK)学习总结

回调函数应该和设计相关而不是和语言相关。在分层设计中,高层次的模块会叫低层次的模块做一些事情,通常是通过函数调用。 从设计上来说,低层次的模块不应该直接调用高层次模块的函数。所以高层次模块在叫低层模块做事的时候会注册一个回调函数给低层模块,然后低层模块做完了就调用这个函数。表现在C语言上是个函数指针调用(calling)机制从汇编时代起已经大量使用:准备一段现成的代码,调用者可以随

2016-10-13 12:54:06 7328

转载 面向对象,面向服务,面向组件三种编程模式有什么区别

三个数据后面都缺了一个词,分别是:“编程”、“架构”和“开发”(或“软件工程”)。 同时,不是“面向”组件而是“基于”组件。面向对象编程(Object-Oreinted Programming) 是一种编程范式。指在设计程序时大量运用类实例对象的方式。OOP一旦在项目中被运用,就成了时刻要考虑的东西。面向服务架构(Service-Oreinted Architecture) 是将软件设计成一

2016-10-11 14:27:02 7358 2

转载 git push & git pull 推送/拉取分支

git push与git pull是一对推送/拉取分支的git命令。 git push 使用本地的对应分支来更新对应的远程分支。$ git push 远程主机名> 本地分支名>:远程分支名>11注意: 命令中的本地分支是指将要被推送到远端的分支,而远程分支是指推送的目标分支,即将本地分支合并到远程分支。 如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通

2016-09-29 19:42:47 827

转载 git基本原理详解

1.什么是git        这个去google一下可以搜出一大堆,git就是一个软件管理器,不同一般的是它是分布式的,不仅有一个中心的服务器控制最新版本代码,而且每个开发者自己还有个本地仓库,所以在开发过程中都是先将代码提交到本地仓库再推送到中心服务器上的,这样的好处就是每个人都依赖于中心服务器来实现交互,但又不会被中心服务器限制,就算中心服务器挂了,也能很容易的找到最新版本的代码,而

2016-09-29 18:51:52 277

转载 github常见操作和常见错误!

如果输入$ git remote add origin [email protected]:djqiang(github帐号名)/gitdemo(项目名).git     提示出错信息:fatal: remote origin already exists.    解决办法如下:    1、先输入$ git remote rm origin    2、再输入$ git r

2016-09-29 15:05:14 239

原创 git clone 权限问题

1.First you'll want to cd into your .ssh directory. Open up theterminal and run:cd ~/.ssh&& ssh-keygen2.Next you need to copy this to your clipboard:catid_rsa.pub | xclip3.Add your key to your

2016-09-29 14:25:48 5649

原创 "fatal: protocol error: bad line length character: No s"原因

在向配置gitlab的服务器进行git push 出现以下错误 fatal: protocol error: bad line length character: No s出现的原因是这个当前用户不拥有当前project的push权限 解决办法当然是联系管理员增加当前用户的权限咯!!!

2016-09-29 14:19:27 2435

转载 git创建一个自己的本地仓库

如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or index)中,最后再用git commit命令提交到本地仓库里。创建一个新的项目目录,并生成一些简单的文件内容:$ mkdir test_proj$ cd test_proj$

2016-09-22 15:18:42 26338 1

数学之美.pdf

书中将高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。通过具体实例教会读者在解决问题时如何化繁为简,如何用数学去解决工程问题。

2016-01-10

空空如也

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

TA关注的人

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