前两天在网上看到一个号称比cURL更牛逼的命令行工具HTTPie,提供命令行交互方式来访问HTTP服务。其实我本人平常用cURL就比较少(因为喜欢GUI界面),但还是经受不住好奇心的驱使,晚上回家连上VPN,在服务器上简单试了一下--HTTPie果然强大。
cURL
先说cURL的基本使用方法,curl -X METHOD -H HEADER -i,后面的-i是表示显示返回消息的头部,如果你使用cURL访问OpenStack,那么这个选项在获取UUID类型的token时必不可少。
为了使用cURL访问OpenStack,我们先创建一个文件/opt/temp/auth.json,内容为:
{
"auth": {
继续阅读 »
问题产生
今天在处理一个接口时,发现返回的格式是这样的:
json
{
"meta": {
"has_next_msg": false
},
"objects": [
{
"text": "111",
"from_user_type": "PAT",
"pic": "",
"ts": 1419939065
}
]
}
ts 那个属性我不太熟悉,不过我觉得应该是 timestamp 的意思吧。后来才知道,ts 就是该条消息的发送时间戳(timestamp)
继续阅读 »
gulp的一个案例,主要是对gulpfile.js中的任务进行分割,完成清理、文件复制同时进行筛选压缩、以及html中js和css引用的替换等
more
gulpfile.js
```javascript
'use strict';
var gulp = require('gulp');
var config = {
pkg: require('./package.json'),
publicDir: ['./{public,public/}'],
resourcesDir: ['./{resources/,resources/}'],
apps: ['ads', 'analysis', 'h
继续阅读 »
写在前面
fetch 同 XMLHttpRequest 非常类似,都是用来做网络请求。但是同复杂的XMLHttpRequest的API相比,fetch使用了Promise,这让它使用起来更加简洁,从而避免陷入"回调地狱"。
两者比较
比如,如果我们想要实现这样一个需求:请求一个URL地址,获取响应数据并将数据转换成JSON格式。使用fetch和XMLHttpRequest实现的方式是不同的。
more
使用XMLHttpRequest实现
使用XMLHttpRequest来实现改功能需要设置两个监听函数,分别用来处理成功和失败的情况,同时还需要依次调用open()和send()方法才能实现请求。
```
functio
继续阅读 »
WEB
easyweb
http://114.116.26.217/
学习了一波json web token ,但是没想到是个脑洞。
账户admin,空密码登陆。
ciscn{2a36b5f78a1d6a107212d82ee133c421}
MISC
验证码
本题目为验证码破解,选手需在指定时间完成对验证码的破解,成功后获取Flag。请使用队伍token进行登陆。
参考数据:https://share.weiyun.com/6e055fc3402e86c7cbb5384f1a6b41b8
https://game.captcha.qq.com/hslj/html/hslj/
题目有点问题,手动玩了一会儿
继续阅读 »
npm的常用命令
npm install xxx 安装模块
npm install xxx@1.1.1 安装1.1.1版本的xxx
npm install xxx -g 将模块安装到全局环境中。
npm ls 查看安装的模块及依赖
npm ls -g 查看全局安装的模块及依赖
npm uninstall xxx (-g) 卸载模块
npm cache clean 清理缓存
npm help xxx 查看帮助
npm view moudleName dependencies 查看包的依赖关系
npm view moduleNames 查看node模块的package.json文件夹
继续阅读 »
Memcached作为高性能的分布式内存对象缓存系统,在web服务里应用较广,和高性能的异步非阻塞服务器Tornado搭配起来可以大幅提高服务端的性能。
应用Memcached缓存热点请求结果
我们给客户端提供api,通过json来返回http请求的结果,一般Web服务都是如此。由于用的是Tornado,所以逻辑上大概长这样:
一个请求对应一个RequestHandler对象,RequestHandler类通过定义get/post方法来处理http请求,结果会通过write方法写到一个write_buffer里,最终有flush方法负责将write_buffer里的结果返回给客户端。
缓存的话,我们一般是这样:
从Torn
继续阅读 »
问题
在之前介绍 fiddler 使用技巧的文章中,我提到伪造 json 返回响应时,要设置正确的 Content-Length 。
规范定义了在大多数情况要设置 Content-Length ,只有少数情况例外。在浏览器实现上,如果设置了比正确数量要少的 Content-Length ,那么内容会被截断,若比正确数量要多,那么会一直处在等待加载更多内容的状态。
继续阅读 »
在完美的安卓 model 层架构(上){:target="_blank"}中,我主要介绍了网络请求、数据库持久化、Immutable/Value types、Json 序列化与反序列化这四部分内容,而剩下的关于 Parcelable,ZonedDateTime,null safety,rx error handling,config injection以及测试相关的内容,将在本篇中进行介绍。
继续阅读 »
前端跨域
1.jsonp
原理: 标签不受同源测略
的限制,可以载入任意地方javascript文件,不要求同源
请求的文件
javascript
function getWeather(data) {
console.log(data);
}
http://x.y.com/xx.js 文件内容:(返回调用getWeatherca参数为json对象数据)
输出文件:
getWeather({
"城市": "北京",
"天气": "大雾"
});
<!--more-->
2.document.domain
使用条件:
有其他页面windowd对象的引用
二级域名相同
协
继续阅读 »