找回密码
 立即注册
搜索

HTTP请求BODY不支持二进制数据,HTTPS不支持

4
回复
1280
查看
[复制链接]

2

主题

8

帖子

0

积分

 楼主| 2018-4-11 13:35:59 显示全部楼层 |阅读模式
这怎么玩
回复

使用道具 举报

2

主题

8

帖子

0

积分

 楼主| 2018-4-11 14:39:12 显示全部楼层
这个论坛有管理员存在吗...我的天
回复

使用道具 举报

1

主题

67

帖子

475

积分

2018-4-11 16:00:46 显示全部楼层
请问是调用的 fetch.fetch接口么? 如果使用fetch.fetch接口的话,内部使用的是android的 okhttp ,是支持https协议的。 你说的body不支持 二进制数据 具体指的是什么使用场景?
回复

使用道具 举报

2

主题

8

帖子

0

积分

 楼主| 2018-4-11 16:24:25 显示全部楼层
fetch.fetch接口并没有提供HTTPS相关的API啊....底层OKHTTP我是知道的....但是我看源码好像请求就只有HTTP的实现 源码如下: fetch: function (t, e) { console.warn('fetch called.'); if (t.method = t.method || 'GET', 'GET' === t.method) { var o = '' + J(t.data || '') t.url += (-1 === t.url.indexOf('?') ? '?' : '&') + o } else t.data && (t.body = new global.FormData, t.body.append('json', JSON.stringify(t.data)), t.headers = t.headers || {}, t.headers['Content-Type'] = 'application/json') if (t.mock) return void global.processInvokeCallback({ callback: e, data: { code: 0, content: { code: 200, data: t.mock } } }) global.fetch(t.url, Object.assign({ mode: 'cors' }, t)).then(function (t) { t.text().then(function (o) { global.processInvokeCallback({ callback: e, data: { code: t.ok ? 0 : 500, content: { code: t.ok ? 200 : 500, data: o } } }) }) }).catch(function (t) { global.processInvokeCallback({ callback: e, data: { code: 500, content: { code: 500, info: t.message } } }) }) } 可以看到,body只有formdata,不支持二进制数据
回复

使用道具 举报

0

主题

1

帖子

0

积分

2018-4-14 10:10:50 显示全部楼层
对于二进制数据建议先encode成string后在传输,本身快应用是支持string传输的,对于你说的https不支持情况刚测过是可以的,是不是你那边设了http代理抓包导致的,在高版本手机上对于信任证书有限制
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册