弱网下移动端网络连接处理策略

弱网下移动端网络连接处理策略,第1张

在进行接口测试的时候,遇到了自动重定向的接口,只想测试本接口的,不希望跳转到重定向的页面。比如301、302重定向

301重定向又称之为永久性转移

301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的>我认为他们之间的关系不太明朗,应该是sendRedirect和forward比较的,301与302比较的。
sendRedirect是服务器重定向后将url发回给客户端,客户端重新向新的url发送请求,于是url会在浏览器明显的发生跳转,而forward是直接就在服务器端完成了跳转,客户端丝毫不会觉察。
302是代表暂时性转移,也就是在服务器端发生的跳转,和forward有点类似,但它们是俩种东西,只是原理类似,这种方式较容易发生一个问题,容易发生url劫持。

302 Found 是>


官方给出的英语解释为:


The requested resource resides temporarily under a different URI Since the redirection might be altered on occasion, the client SHOULD continue to use the Request-URI for future requests This response is only cacheable if indicated by a Cache-Control or Expires header field

The temporary URI SHOULD be given by the Location field in the response Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s)

If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued

使用responsesendRedirect(url)比使用responsesetStatus(responseSC_MOVED_TEMPORARILY)和responsesetHeader("Location",url)更好。这是因为:
1、代码更加简洁。
2、使用sendRedirect,Servlet会自动构造一个包含新链接的页面(用于那些不能自动重定向的老式浏览器)。
3、sendRedirect能够处理相对URL,自动把它们转换成绝对URL。
注意这个状态代码有时候可以和301替换使用。例如,如果浏览器错误地请求>        1) 看支付宝的文档,有接口: alipayuserinfoauth , 然后根据文档进行对接,对接方式未服务端对接口进行访问,然鹅,一直给我返回302的错误,思考了下,发现用户授权不管怎么说都不应该在服务端进行 *** 作,而是跳转页面。换种思维,把这个接口的参数转换成链接返回,然后通过GET方式做跳转,发现还是不行,脑壳疼。再思考下,这接口的链接域名都是为服务端API服务的,我拿来在浏览器里面访问,能成功就见鬼了

        2) 上面的方案不行,就去找支付宝的网页端授权,找到了这种格式:>Apple推出WKWebView已经有一段时间了,相对于UIWebView而言,内存占用只有UIWebView的一半左右,但是响应速度和效率上却是UIWebView的两倍。
  总结WKWebView使用方法的帖子文章很多,这里不再赘述,这里重点总结一下cookies共享问题。

由于以上原因,导致WKWebView无法与App自身的Cookies、UIWebView之间共享Cookies数据。WKWebView这样做也有一定的好处,在不用 *** 作原有Cookies的基础上,独立的一套Cookies,有效的防止了Web与App Api接口的Cookie相互污染。
  但是在使用过程中也遇到了一些坑。

有的时候因为业务需求,就是需要相互共享Cookies,这样的案例也有很多,支付宝中大量的Web中,应该就有很多Cookie是和App共享的吧。

在WkWebView接收到Response后,将Response带的Cookies取出,然后直接放入[NS>有时候我们需要获取curl 302正在跳转的网址,一般我们是无法获取的,只能让他自动跳转或手动跳转,有些服务器也不支持curl自动跳转。
所以我们才想方法让他返回需要跳转的网址。
网上找了很久,也没有相关的答案。
然后再想想CURL有一个可以显示HEADER的参数。
我们可以使用HEADER参数返回将要被跳转网址,通过以下CURL函数可以实现Curl POST 302自动跳转获取URL方法


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12817695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存