Closed wjiuxing closed 4 years ago
你使用 Ajax hook 的目的是什么?
为了做离线资源,我做了内置服务器 127.0.0.1,也因此,Ajax 需要被 hook 后转域名、添加路径,然后将请求结果通过 ajax hook delegate 返回去。。。
嗯,你这个不需要ajax转域名,域名可以在本地服务器拼接
似的,OC 上能内嵌到 app 的服务器,也就那么一款,研究了半天,做不到 HTTP Proxy 的能力啊。。。
baseURL 肯定是固定的,如果不固定,也可以通过服务器下发给你 baseURL。 拦截层,是可以根据 baseURL 和 相对url,拼接完整的 url
更新了 https://github.com/karosLi/KKJSBridge/issues/30#issuecomment-654100206
为了做离线资源,我做了内置服务器 127.0.0.1,也因此,Ajax 需要被 hook 后转域名、添加路径,然后将请求结果通过 ajax hook delegate 返回去。。。
上面的拦截层具体指什么?内置服务器里边的拦截层吗?内置服务器接到一个请求后,只能立马 return 一个文件或者 data,容不得异步走网络。。。
可以的,可以使用 GCDWebServer,我之前尝试做过,是可以拦截到post请求的,然后在拦截代码里拼接完整url
GCDWebServer 应该是不支持 HTTPS 的吧,需要 HTTPS
是的,用的这个,看着都是从硬盘上直接读的文件,没看出来怎么将一个请求转到 proxy
需要多看下他们的demo,一个http本地代理服务器,肯定是支持get和post的
有点懵,这和 get 还是 post 没关系吧?
你的H5的请求都是绝对路径还是相对路径? 如果是相对路径,肯定会进入拦截方法里
你要是实在想要去掉URLProtocol,我可以考虑分成两个subpod,可以指定想要哪种方式
你的H5的请求都是绝对路径还是相对路径? 如果是相对路径,肯定会进入拦截方法里
h5 那边应该是相对绝对都有。。。 回头我再多看看 CocoaHTTPServer 的 demo
你要是实在想要去掉URLProtocol,我可以考虑分成两个subpod,可以指定想要哪种方式
这样就太好了,感谢!
试下这个版本,区分了新老代码,按需求引入 pod 'KKJSBridge/AjaxHook', '1.1.5-beta9'
好的,今天一直在忙别的,周末试试吧,谢谢!
我试了一下,没有问题,谢谢了!
不客气,我先关闭了
感谢 @karosLi 的回复,为交流方便,把内容放到 github,谢谢。
我想用 Ajax hook,但不想有注册 protocol 的私有代码,这看起来有点难了。。。