云开发接单
云开发接单
  • 发布:2022-12-31 01:19
  • 更新:2022-12-31 11:34
  • 阅读:239

云函数网络请求是否会自动过滤headers字段和form内容?

分类:uniCloud

云函数网络请求是否会自动过滤请求头和form内容?
因为云函数代理无法发送form-data数据
因此想通过自己的服务器转发

云函数普通请求到自己的服务器
需要发送的字段有headers和params(是自己的字段,并不是设置云函数的请求头)

但是遇到下面几个问题
a.参数headers无论设置什么,自己的服务器接收到的数据都是空(非云函数请求头,是用于自己服务器设置请求头的参数)
b. 参数params设置普通内容可以,但是设置为form数据,或者form.getBuffer()(是云函数直接提交到自己的服务器,但是),自己服务器接收到的数据都是空

想中转上传到公众号的素材,还是不行
希望官方还是支持一下云函数代理也能发送form-data数据,就没有这么麻烦了

2022-12-31 01:19 负责人:无 分享
已邀请:
云开发接单

云开发接单 (作者) - 专攻云开发,有云开发的小单子可找我

原因好像找到了
a.编译器似乎会对headers字段进行检测,不能为一般数据类型,其他类型运行会直接报错
b. 上面的headers和params都不是一般数据类型,因此通过uniCloud.httpclient.request直接发送自己的服务器,会被过滤掉,因此无法接收

我这种情况,应该怎么处理啊,有没有好的解决办法啊
发现form-data的中转好困难啊

云开发接单

云开发接单 (作者) - 专攻云开发,有云开发的小单子可找我

目前我的方法是把云函数的ip一个一个添加进去
虽然可能无数个,但目前只有这一招

DCloud_uniCloud_WYQ

DCloud_uniCloud_WYQ

不是所有请求都需要代理请求的吧,看下是不是只有获取access_token才需要白名单,其他操作不需要

  • 云开发接单 (作者)

    如果是自己的公众号,确实只需要获取access_token才需要白名单

    但是我们是微信服务商模式,第三方平台去操作别人的公众号,全部操作都需要在ip白名单

    2022-12-31 15:26

  • DCloud_uniCloud_WYQ

    回复 云开发接单: 微信有是在哪个文档做的这个说明,我们发给阿里看下

    2022-12-31 17:04

  • DCloud_uniCloud_WYQ

    回复 云开发接单: 找个服务商账号测试了下,上传素材也是不需要白名单的

    2022-12-31 21:03

  • 云开发接单 (作者)

    回复 DCloud_uniCloud_WYQ:

    接口文档:https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html

    你确定使用的是服务商的第三平台开发模式吗?我这里上传仍然不行,报错信息:

    data: {

    errcode: 61004,

    errmsg: 'access clientip is not registered requestIP: 47.92.122.157 rid: 63b243b3-7cc1d0a5-73d0e9a3'

    }

    2023-01-02 10:42

  • DCloud_uniCloud_WYQ

    回复 云开发接单: 了解,我们再和阿里讨论下看有没有更好的方案

    2023-01-03 20:56

  • 云开发接单 (作者)

    回复 DCloud_uniCloud_WYQ: 代理问题还有另外一个问题,顺便看一看,https://ask.dcloud.net.cn/question/160717

    2023-01-03 21:03

要回复问题请先登录注册