curl
测试域名绑定
我常需要在开发环境中,测试某台服务器上的Web Server是否正确绑定了域名。比如,我希望在服务器192.168.1.10
上绑定www.kuqin.com
。但需要修改hosts才能看到效果,这活儿很累人。
所谓“域名绑定”,就是把host映射到对应的目录。如果手头有cURL,可以使用 -H
参数,在请求头信息中多写一个 Host
字段。就可以测试是否配置正确了。
# curl -H "Host: www.kuqin.com" http://192.168.1.
场景二:查看头信息
响应头信息中包含了很多东西。除了HTTP版本和响应代码,还有Server、Content-Type、Content-Length等信息,如果有写入Cookie的操作,也会体现在头信息中。
使用cURL的 -I 参数,就可以看到这些头信息。比如淘宝的:
# curl -I http://www.taobao.com/
场景三:跟踪URL跳转
如果遇到了一个多次跳转的URL,可以先用curl的 -L
参数看看,这个URL最终跳转到了什么地方。-L
参数最好配合 -I
使用,不然cURL会把最后一次请求获得的数据输出到控制台。
没有合适的URL拿来做例子,意会一下吧
场景四:发送压缩的请求
cURL提供了一个 –compress
参数,可以用来发送支持压缩的请求。但使用了–compress之后,虽然传输过程是压缩的,cURL的输出还是解压之后的,难以看到效果。
我一般用 -H
参数,自己写一个 Accept-Encoding
字段在头信息中。
curl -H "Accept-Encoding: gzip" http://www.kuqin.com/
如果直接运行上面的命令,会得到一堆乱码,因为cURL输出的内容,是压缩后的数据。不妨在后面接一个gunzip试试。
curl -H "Accept-Encoding: gzip" http://www.kuqin.com/ | gunzip
使用gunzip解压之后,信息又被还原了。
场景五:忽略证书错误
平日上网,遇到证书错误一定要小心。但我在工作中,经常需要用自签的假证书搭建开发环境。cURL在遇到证书错误时无法使用,使用 -k
参数就可以让它不做证书校验。
netstat -apln (这个n很重要,曾经有一次要看一个端口有没有起来,没有带n参数,实际上端口是起来了,但是就是grep不到)
tail -f(从尾部监听) -n (后面跟数字,表示从尾部向上多少行)
awk出处文件到指定路径
awk XXX -F"exp=|,count" '{print $2","$4,total > "lsd.data"}'
java调用shell脚本
/*
例如.test.sh内容为
echo "hello world" >> lsd.txt
lsd.txt的输出目录为workPath
*/
Runtime rt = Runtime.getRuntime();
String workPath = "/data/log";//子进程工作目录
String shellPath = "/data/log/test.sh";
File dir = new File(workPath);
String params = "a b";//参数a b传入shell
String str[] =
{ "sh", "-c", "/bin/sh "+shellPath + " " +params };
Process pcs = rt.exec(str, null, dir);
BufferedReader br = new BufferedReader(new InputStreamReader(pcs.getInputStream()));
StringBuffer lines = new StringBuffer();
String line = new String();
while ((line = br.readLine()) != null)
{
lines.append(line).append("\n");
}
try
{
pcs.waitFor();
}
catch (InterruptedException e)
{
lines.append("processes was interrupted").append("\n");
}
br.close();
int ret = pcs.exitValue();
分享到:
相关推荐
java 执行linux命令源码,java调用shell脚本源码,java web发布war到tomcat,servlet文件上传,ajax文件上传。 java web 上传war包、停止、启动、发布tomcat。 命令修改成自己的目录即可使用。
java连接linux,执行shell命令的工具类 sshxcute.jar
在linux环境中,这三个用户都可以直接在任意目录下执行该shell脚本,可是在java代码中调用shell脚本时,报了如下4个错误: 1、sqlldr: command not found 2、sqlplus: command not found 3、0750: You may need to ...
sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能。sshxcute 不管是针对...
基于sshConnect的linux服务器的shell命令调用,并获取命令返回结果的实例。亲测有效!
java调用linux系统命令的封装工具类。
解决有java调用shell脚本需求的童鞋们,包含一些调用的测试方法,有问题可留言回复。
主要介绍了Java调用linux shell脚本的方法,需要的朋友可以参考下
在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。
详细的linux shell脚本启动java代码类。
使用runtime, 实现java客户端多次调用linux命令或者shell脚本,并返回对应结果或信息
该工具包可实现远程调用Shell脚本,可帮助您轻松实现java远程调用Shell脚本
java远程登录Linux,并执行shell命令。
JAVA操作linux服务器,本文用于启动shell脚本并返回数据,简单易懂,可随时修改,1.连接服务器。2.输入服务器地址。3.输入用户名和密码。4.输入要执行的命令。
在开发的过程中,要善于利用JAVA面向对象编程的优势,与Linux/Unix命令或Shell脚本的优势,并将二者相结合。
linux中java项目需要重启一般使用先找到进程杀掉进程,然后找到项目启动,整个过程不算复杂,但是每次都操作一遍太麻烦,我这里把这个过程整理成shell脚本,大家可以修改里面项目名称,每次直接执行这个命令重启项目...
本人根据实际项目需求所开发的,SSH2远程执行Linux中Shell脚本Java小工具,亲测有效!里赋有已打好的程序jar包及工具使用说明,简单易用,很方便哟!
该工具是基于SSH2协议的实现,在使用它的过程中非常容易,只需要指定合法的用户名口令,或者授权认证文件,就可以创建到远程Linux主机的连接,在建立起来的会话中调用该Linux主机上的脚本文件,执行相关操作。
该部分java代码在linux下通过了测试验证,确实可以使用。
利用Runtime.execute方法,我们可以在Java程序中运行Linux的Shell脚本,或者执行其他程序