背景
工作中遇到需要动态替换host,使用线下环境的host来进行测试回归,如将produce.example.com动态替换为使用test.example.com
解决方案
1.新创建HttpUrl对象newHttpUrl,使用host(),scheme()等方法设置新的host,schema等参数。
2.新创建Request对象newRequest,使用url()方法将新创建的newHttpUrl设置为newRequest的url。
3.通过反射修改Call中的originalRequest为newRequest对象实现动态替换/改变host,schema等参数。
4.在MyEventListener的callStart(Call call)方法中判断host为produce.example.com时调用NetUtil.replaceOriginalRequest(call, request)
网友评论