博文

目前显示的是 七月, 2018的博文

Ubuntu下载百度网盘的大文件

因为下载百度网盘的文件需要百度网盘的客户端,但是百度又没有提供Ubuntu版本的客户端,所以只能使用chrome插件来获得实际文件的下载地址,然后使用aria2c来完成下载。 step1、安装chrome插件 https://blog.csdn.net/miaoqiucheng/article/details/73701995 git clone https: //github.com/acgotaku/BaiduExporter 然后在chrome的extensions中勾选开发者模式,然后upload文件夹中的chrome/release文件夹 step2、使用aria2c来下载 aria2c --dir=保存的目录 --max-connection-per-server=16 --max-concurrent-downloads=16 --split=16 --continue=true "下载链接地址"

OpenResty 学习

参考 https://github.com/openresty/lua-nginx-module 及其 OpenResty最佳实践 ,这里面包含上面部分API的翻译 ngx.location.capture Nginx 子请求是一种非常强有力的方式,它可以发起非阻塞的内部请求访问目标 location。目标 location 可以是配置文件中其他文件目录,或  任何  其他 nginx C 模块,包括  ngx_proxy 、 ngx_fastcgi 、 ngx_memc 、 ngx_postgres 、 ngx_drizzle ,甚至 ngx_lua 自身等等 。 需要注意的是,子请求只是模拟 HTTP 接口的形式,  没有  额外的 HTTP/TCP 流量,也  没有  IPC (进程间通信) 调用。所有工作在内部高效地在 C 语言级别完成。 子请求与 HTTP 301/302 重定向指令 (通过  ngx.redirect ) 完全不同,也与内部重定向 ((通过  ngx.exec ) 完全不同。 在发起子请求前,用户程序应总是读取完整的 HTTP 请求体 (通过调用  ngx.req.read_body  或设置  lua_need_request_body 指令为 on). 发送一个 POST 子请求,可以这样做: res = ngx.location.capture( '/foo/bar' , { method = ngx.HTTP_POST, body = 'hello, world' } ) 因为 Nginx 内核限制,子请求不允许类似  @foo  命名 location。请使用标准 location,并设置  internal  指令,仅服务内部请求。 其中@用来定义一个命名location。主要用于内部重定向,不能用来处理正常的请求。其用法如下: location / { try_files $uri $uri/ @custom } location @custom { # ...do something } 再看一个例子: local res = ngx.location.capture