curl用法小记

今天处理一个将TCP接口转换成HTTP接口的任务,get到一点零碎的知识点。

curl用法

1
curl -X POST http://localhost:8888/90900 -H @appmap.properties -d
  • -X - 指定请求方法
  • -H - 在文件中指定header
  • -d - 指定post data

使用curl发送json数据时不用担心格式的问题。这里有一个小技巧,输完-d '回车(注意-d后有个空格和 单引号 ),然后粘贴你的json数据,再输入一个' (单引号),最后回车发送数据。

Jackson用法

感觉jackson使用起来不如 org.json 直观。后者提供了很简单明了的 JSONObjectJSONArray,而jackson中就麻烦很多。

1
2
3
4
5
6
7
JsonNode root = objectMapper.readTree(body);
JsonNode body = root.get('body');

// 将json字符串转换成指定类型的对象
Object obj = objectMapper.readValue("{}", clazz)
// 将json node转换成指定类型的对象
Object obj = objectMapper.convertValue(body, clazz)

How To Write a Custom Serializer with Jackson

java - How do I use a custom Serializer with Jackson? - Stack Overflow

scp用法

Mac terminal向远程机器上传,使用rz老是卡住,只能使用scp

1
scp  <source file> <user>@<host>:<dest file>

查看端口进程

lsof -i:8080 查看8080端口占用

netstat –apn

vim中文乱码

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

解决Mac环境下vim中文乱码&转码问题 - CSDN博客

压力测试

linux 下ab压力测试 - myvic - 博客园

ssh代理

代理配置在~/.ssh/config文件中

1
proxyCommand=corkscrew dev-proxy.oa.com 8080 %h %p

corkscrew

ssh后台运行程序

使用screen命令。

安装screen

1
yum install screen

后台运行命令

1
2
3
> screen (回车)
> java viewer.jar
> (先 Ctrl + A,再 d)

通过screen运行命令后,ssh会话断开也不会影响命令的运行

命令切到前台

1
2
3
4
> screen -ls
> (找到session id)
> screen -r <session id> (回车)
> (命令被切回前台)

参考

Linux ssh状态下如何后台运行程序?
如何在关闭ssh连接的情况下,让程序继续在后台运行?