200709-CURL文件上传

使用curl进行文件上传,语法如下

1
curl -f '文件名=@文件地址' url

200703-grep 匹配到二进制文件

直接使用grep 发现一个奇怪的问题,居然提示

1
2
$ grep 'error' cic.log
匹配到二进制文件 cic.log

grep如果碰到\000 NUL字符,就会认为文件是二进制文件。必须加上-a或–text选项强制让grep认为是文本文件才可以看到正常的结果

因此解决方案是:

1
2
3
$ grep 'error' cic.log --text
# 或者如下
$ grep 'error' cic.log --a

200629-Quick-Media 中文二维码支持

Quick-Media 项目提供了一些列多媒体操作的开箱即用工具类,比如图片编辑合成,markdown/html/svg渲染,音频处理;当然还有本文重点说明的二维码生成解析

QrCode-Plugin支持丰富的酷炫二维码生成,大概十来天前有个小伙伴提了一个非常有意思的方向,能否将二维码中的黑白方块换成中文

趁着端午放假前夕的空闲时间,把这个集成在QrCode插件中,生成效果如下(从左往右,从上往下读,千字文😝)

200623-Python url编码

Python提供了较好的url编码封装,常借助 parse来实现,一般常见的使用姿势有两种

1
2
3
4
5
6
7
8
9
10
11
12
>>> from urllib import parse
# 直接对字符串进行url编码
>>> parse.quote('一灰灰Blog')
'%E4%B8%80%E7%81%B0%E7%81%B0Blog'
# 解码
>>> parse.unquote('%E4%B8%80%E7%81%B0%E7%81%B0Blog')
'一灰灰Blog'

# 对一个字典进行url编码,并组装成url参数
>>> p = {'a': '12+23', 'b': '一灰灰blog'}
>>> parse.urlencode(p)
'a=12%2B23&b=%E4%B8%80%E7%81%B0%E7%81%B0blog'

200619-http代理服务器tinyproxy搭建手册

简单记录一下http代理服务器tinyproxy的搭建与简单配置过程

1
2
# 安装
sudo yum install tinyproxy -y

200616-zsh 安装与配置

本文简单记录centos环境下,zsh的安装过程,以及我个人常用的主题配置

200604 Nginx重写代理链接

本文参考自: 重写代理链接-url-rewrite

使用nginx做发现代理,遇到一个场景,匹配 /console/ 开头的域名,转发到目标端口号,但是希望转发过去的url,去掉 /console/ 这个头

针对这个,可以借助 rewrite + proxy_pass来实现

1
2
3
4
location /console {
rewrite ^/console/(.*) /$1 break;
proxy_pass http://127.0.0.1:8080/;
}

200527-Python 获取本机Ip和主机名

python中获取本机ip以及主机名

1
2
3
4
import socket

hostname = socket.gethostname()
ip = socket.gethostbyname(hostname)

200526-python int list转String

在python中,可以直接通过','.join的方式来连接一个list,但是如果list中的元素不是string,会报错

1
2
3
4
5
6
>>> a = [1,2,3]
>>> ','.join(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found
>>>

针对非string元素的列表的转换时,可以考虑借助表达式语言来处理,如下

1
2
3
4
>>> a = [1,2,3]
>>> ','.join([str(x) for x in a])
'1,2,3'
>>>

200517-吐槽之阿里云欠费7分导致服务不可用

新业务上线,购买了阿里云全家桶,服务跑着好好的,突然发现跪了,首先是域名能ping通,但是访问不了,服务器也能ping通,结果就是死活登录补上去,ssh各种超时,阿里云控制台的远程登录也不行,这尼玛难道是阿里云宕机了?其他项目组的阿里云服务器很正常啊

然后按照某些博文说的,重启大法,然而并没有什么鸟用…

那就提工单,响应速度真的是很快很快,两个小时的排查,然后告诉我是因为欠费,查了下明细,oss服务欠了7分的流量费,导致服务器无法登录,这个操作也是可以了…

200515-nginx 提示文件访问权限问题failed(13:Permission denied)

nginx配置完毕之后,添加一个html页面,访问直接500错误,通过查看错误日志,显示 failed (13: Permission denied)

解决方法,修改配置文件中的userroot

1
2
3
4
vim /etc/nginx/nginx.conf

user root;
worker_processes auto;

修改完之后,重启即可

1
nginx -s reload

200511-Chrome dev域名307强制走https问题记录

chrome浏览器,访问.dev域名的网站时,总是提示拒绝连接请求,但是换个浏览器就没有这个问题

打开控制台,发现每次请求时,chrome浏览器会307重定向到https的访问

根据不同的浏览器执行的结果不同,基本可以确定不是后端的配置问题,多半还是chrome的某些配置上

然后发现chrom63版本之后,新增了一个功能,强制所有的.dev域名都走https,无解…

文中也提供了两个解决办法

  • .dev 域名换成其他的如 .test 域名
  • 换浏览器…

200509-python3 Pip install ssl certificate问题

python3.7 通过pip进行安装时,提示ssl certificate问题

如下提示:

1
2
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

解决办法,用国内镜像源

1
pip install aiohttp -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

200430-Java实现AES ECP PKCS5Padding加解密工具类

Java 实现一个AES/ECB/PKCS5Padding 加解密算法工具类

  • 加密算法: AES
  • 模式: ECB
  • 补码方式: PKCS5Padding

200426-mac 刷新dns

mac 快速刷新dns缓存命令

1
sudo killall -HUP mDNSResponder

200421-Curl 代理访问方式小结

记录一下curl通过代理访问目标网站的几种姿势

原文请参考: How to use curl command with proxy username/password on Linux/ Unix

语法:

1
2
3
4
curl -x '协议://[用户名:密码@]ip[:端口号]' url

curl -x http://[user:password@]proxyhost[:port]/ url
curl -x socks5://[user:password@]proxyhost[:port]/ url

200420-Let’s Encrypt 通配符配置,为你的根域名添加https证书

现在站点不挂个https,就连微信分享都开不了,然而商用https证书又特别贵,作为草根想搞个https证书,有下面两种方案:

  • 可以到阿里云的控制台上申请免费证书(必须备案,一年有效期,一个域名一个证书)
  • 另外一个方案就是利用let’s encrypt来申请证书(支持通配符,即多个域名一个证书)

下面手把手教你利用let’s encrypt进行证书申请

200418-MongoDb系列教程十三:索引

索引一般用来提高查询效率,避免全集合搜索,那么在mongodb中,支持索引么?如果支持,如何定义索引,如何使用索引,如何确定一个sql是否走索引?

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×