一、搭建本地服务器
- 在桌面新建文件夹命名为
testServe
,下载一个jar包放到文件夹中,下载地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.10.2/moco-runner-0.10.2-standalone.jar
然后在文件夹中新建一个json文件命名为testServe.json
,用xcode打开json文件并写入
[ { "response":{ "context":"First Blood!"}}]
- 打开文件夹,打开终端输入
cd /Users/bean/Desktop/testServe
然后配置java环境(端口号也可以不用8080)
输入
java -jar moco-runner-0.10.2-standalone.jar start -p 8080 -c testServe.json
如果还没有配置jdk的话可以先去下载并安装jdk地址:
https://ngrok.com/download
看心情下载,看心情安装......
如果终端出现
INFO server is started at 8080
INFO shutdown port is XXXX
那么就是成功了,如果有问题可以将json文件中的context
改为text
你可以访问一下浏览器本地地址
http://localhost:8080/或者http://127.0.0.1:8080/
如果页面出现了
First Blood!
字样那么就是成功了
- get请求
修改json文件
[
{ "response":{"context":"First Blood!"}},
{ "request":{ "method" :"get", "uri":"/getTest"},
"response":{ "context":"First Get!"}
}
]
访问地址http://localhost:8080/getTest
request 请求
有14个固定的属性:
method,headers,json,factory,uri,text,cookies,xpaths,
json_paths,version,file,queries,path_resource,forms。
一定要遵循这些方法。
常用的method(请求方式),headers(heads参数),uri(url地址),file(指定调用的请求文件),queries(请求带参),forms(表单内容)。
response 响应
有12个固定属性:
status,attachment,headers,version,factory,file,text,proxy,cookies,json,latency,path_resource。
- 带参数的方法
修改json文件
{"request":
{"uri":"/getTestWithParams",
"queries":{ "param1":"1", "param2":"2"}
},
"response":{ "text":"This is a method with params!"}
}
请求地址:
http://localhost:8080/getTestWithParams?param1=1¶m2=2
- Post请求
修改json文件
{
"request":{
"method" :"post",
"uri":"/postMethod",
"headers" :{
"content-type" :"application/json",
"sessionid":"e566288ba77de98d"
},
"forms" :{
"name" :"zhangsan",
"password" :"123456"
}
},
"response":{
"text":"This is a POST Method!"
}
}
在xcode中用AFNetworking或者Alamofire请求,因为这是http请求,xcode目前默认不支持http请求,有可能涉及到ATS的问题,解决方案参考链接:
https://blog.csdn.net/wangjunling888/article/details/50980964
二、映射到外网
自己搭建一个本地服务器自己玩,没啥意思,我想跟别人显摆显摆,怎么办,要让别人能访问我的服务器,于是用到了ngrok,下载地址:
https://ngrok.com/download
下载之后找个地方放一下,然后打开终端输入
cd ngrok路径
开启服务,在终端输入
./ngrok http localhost:8080
稍等片刻,等session status
对应的值变为online
时表示启动成功,这时我们可以看到forwarding
后面的值有一个对应关系
http:xxxxxx:8080 -> localhost
https:xxxxxx:8080 -> localhost
也就是将本地地址映射成了外网地址,通过新的地址访问即可,不过每次启动ngrok
获取的地址是变化的
参考文章
https://www.jianshu.com/p/cb7eb3bf272c
https://blog.csdn.net/u011886447/article/details/73268407