img src 或者 background:url('') 中的地址是接口, 如何设置请求头

img src 或者 background:url('') 中的地址是接口, 如何设置请求头,第1张

项目之前传递token的方式,是通过cookie来传的。(cookie中的数据默认会跟着所有请求发送)因谷歌浏览器80版本之后,SameSite属性默认值改为Lax后,导致不同站下的cookie写不进去了。所以更改了传递token的方式,通过请求头传递。设置了axios的请求头后,其他的接口访问都没有问题,唯有图片这种直接通过src或者background:url()的方式。接口就加载请求了,加不上请求头。

使用原生的XMLHttpRequest对象创建请求

注:

URL.createObjectURL()

URL.revokeObjectURL()

参考: https://segmentfault.com/a/1190000020366227?utm_source=tag-newest

首先需要在url中加特殊标记/协议, 如在onWebViewResource方法中拦截对应的请求,然后将要添加的请求头,以get形式拼接到url末尾。

拦截器没搞懂就先搞这个法子暂时先写到请求里面,不然api接口啥都用不了,其实也并不是特别麻烦,后续要改,不考虑使用拦截器的话,可能要使用到sqlite数据库,emmmm,想想还是别这么干。

1,post + header

 public void postTest(){

        OkHttpClient client = new OkHttpClient()

        //post请求

        FormBody formBody = new FormBody.Builder()

                .add("event_id","33")

                .build()

        Request request = new Request.Builder().url(DecryptionAddress+"app/event/accept").

                addHeader("Token","服务器获取的token").post(formBody).build()

        client.newCall(request).enqueue(new Callback() {

            public void onFailure(Call call, IOException e) {

                System.out.println(e.getMessage())

            }            public void onResponse(Call call, Response response) throws IOException {

                if(response.code() >= 200 &&response.code() <300) {

                   String result = response.body().string()

                    System.out.println(result)

                }

            }

        })

    }

登录后复制

2,get + header


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

原文地址: http://outofmemory.cn/bake/11611629.html

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

发表评论

登录后才能评论

评论列表(0条)

保存