MonikaChen
MonikaChen
  • 发布:2020-12-12 13:12
  • 更新:2020-12-17 16:47
  • 阅读:624

#插件讨论# 【 HttpClient for uniapp - john0king 】301 302

分类:uni-app

之前做过一个项目,需要监测用户提交的url是否302跳转,来进一步处理业务。其实可以增加个参数,用于决定是否拦截跳转,默认不拦截,就不影响之前的用户体验了。我看很多其它httpclient就有这个参数,php的就有

2020-12-12 13:12 负责人:无 分享
已邀请:
john0king

john0king

这个一般来说 后端语言可以, 但是前端不行, 比如浏览器,就不可以, 我之前给你举了个例子, 比如 C# 的 HttpClient

HttpClientHandler httpClientHandler = new HttpClientHandler();  
httpClientHandler.AllowAutoRedirect = false;

php java go 等都有自己的方法, 但是浏览器没有, 同样对于小程序来说,也没有, 对于前端界面开发, 捕获30x 和 location 头, 几乎没有任何意义, 如果要做,必须在服务端去做, 然后返回api给前端

我的组件建立在 uni 的 request, download, upload 等基础上, 属于上层组件, 当底层的 这些方法给我们回复的时候,已经是重定向之后的结果了。

说个题外话,

对于 C# 等 httpClient , 除了请求 有 url 之外, 响应也有一个 url, 即便允许自动重定向, 我们也可以根据前后的 请求地址和 响应地址不一致来得到该接口是否被重定向了, 但是遗憾, uni 的 request,download,upload 等方法都没有响应的url, 所以无法根据此来决定是否被重定向了

结论

服务端去测试是否被重定向, 客户端根据服务端的相应来做相关处理

该问题目前已经被锁定, 无法添加新回复