大多数程序员都喜欢偷懒的,我也不例外.相信好多Android开发的coder 在网络http请求方面,会浪费很多时间在接口调试这里..有时候,自己写了一个小测试,行还好,不行的话,还要跟写后台的哥们一起扯扯蛋...于是自己就写了一个curl的小脚本,专门调试这方面的东西.(主要适用于用JSON的传输方式).
废话不多说,直接看我的SHELL吧:
#!/bin/sh
echo -n "enter the request host: "
read host # request host
#cookie
echo -n "use cookie ? (y/n) "
read is_cookie
cookie=""
#if need cookie set
if [[ $is_cookie = "y" ]]; then
echo -n "input the cookie: "
read input_cookie
cookie=$input_cookie
fi
echo -n "need post? (y/n) "
read tag
#http get if tag = n
if [[ $tag = "n" ]]; then
if [[ $cookie != "" ]]; then
curl $host -b$cookie
else
curl $host
fi
exit 0
fi
#the json data need to post
data=""
#the input value pair
kv_pair=""
while true; do
if [[ $tag = "y" ]]; then
#input key
echo -n "key : "
read key
# set break condition key = gameover 这里是一个循环结束的标志.输入这个标志表示我需要传递的json数据已经全部写进去了
if [[ $key = "gameover" ]]; then
#complete the json format, %,* start at right side and romove the first ','
kv_pair=${kv_pair%,*}
#this is the last data to post
data="{"$kv_pair"}"
echo "post data is: $data and exce the curl cmd"
#curl $host -d$data
break;
fi
#encode with ""
key='"'$key'"'
#input value
echo -n "value : "
read value
#encode value with ""
value='"'$value'"'
#set value pair and extends itself
kv_pair="$kv_pair"$key":"$value","
echo "$kv_pair"
fi
done
#do http post
if [[ $cookie != "" ]]; then
curl $host -d$data -b$cookie
else
curl $host -d$data
fi
我的是在mac os 下运行的,输入命令 bash xx.sh (xx是你的文件名) .就可以运行了,运行效果如下:
下面是我的一个登录的接口调试.
输入的JSON只需要对着key value输入就好了..gameover的时候就有结果了..有点方便吧..这个东西能跑通,说明后台接口基本能运行~~然后你就专心写你的请求代码吧..
第一个Shell脚本到此结束...新手写得比较菜..有不妥地方大家多拍砖..