OpenHarmony开发者论坛

标题: 更新IDE和SDK后,发送网络请求,提示201错误 [打印本页]

作者: mean    时间: 2023-9-8 16:17
标题: 更新IDE和SDK后,发送网络请求,提示201错误
DevEco Studio、网络与连接
之前运行一直没问题,更新新版IDE和SDK后,上传下载、发送http请求,返回错误201。
IDE: 3.1.0.501,SDK版本:3.2.12.5
发送请求代码:
  1. import http from '@ohos.net.http';

  2. const tag = 'request info: '
  3. @Entry
  4. @Component
  5. struct Index {
  6.   build() {
  7.     Column() {
  8.       Button('请求')
  9.         .padding(20)
  10.         .onClick(() => {
  11.           this.http()
  12.         })
  13.     }
  14.   }

  15.   http() {
  16.     // 每一个httpRequest对应一个HTTP请求任务,不可复用
  17.     let httpRequest = http.createHttp();

  18.     httpRequest.request(
  19.       // 填写HTTP请求的URL地址,可以带参数也可以不带参数。URL地址需要开发者自定义。请求的参数可以在extraData中指定
  20.       "EXAMPLE_URL",
  21.       {
  22.         method: http.RequestMethod.POST, // 可选,默认为http.RequestMethod.GET
  23.         // 开发者根据自身业务需要添加header字段
  24.         header: {
  25.           'Content-Type': 'application/json'
  26.         },
  27.         // 当使用POST请求时此字段用于传递内容
  28.         extraData: {
  29.           "data": "data to send",
  30.         },
  31.         expectDataType: http.HttpDataType.STRING, // 可选,指定返回数据的类型
  32.         usingCache: true, // 可选,默认为true
  33.         priority: 1, // 可选,默认为1
  34.         connectTimeout: 60000, // 可选,默认为60000ms
  35.         readTimeout: 60000, // 可选,默认为60000ms
  36.       }, (err, data) => {
  37.       if (!err) {
  38.         // data.result为HTTP响应内容,可根据业务需要进行解析
  39.         console.info(tag, 'Result:' + JSON.stringify(data.result));
  40.         console.info(tag, 'code:' + JSON.stringify(data.responseCode));
  41.         // data.header为HTTP响应头,可根据业务需要进行解析
  42.         console.info(tag, 'header:' + JSON.stringify(data.header));
  43.         console.info(tag, 'cookies:' + JSON.stringify(data.cookies)); // 8+
  44.         // 当该请求使用完毕时,调用destroy方法主动销毁
  45.         httpRequest.destroy();
  46.       } else {
  47.         console.info(tag, 'error:' + JSON.stringify(err));
  48.         // 取消订阅HTTP响应头事件
  49.         httpRequest.off('headersReceive');
  50.         // 当该请求使用完毕时,调用destroy方法主动销毁。
  51.         httpRequest.destroy();
  52.       }
  53.     }
  54.     );
  55.   }
  56. }
复制代码

权限也配置了:
(, 下载次数: 0)
编译SDK版本:
(, 下载次数: 0)

相关截图:

IDE:

(, 下载次数: 0)


sdk:

(, 下载次数: 0)


错误截图:

(, 下载次数: 0)
【运行环境】
硬件:rk3568;  IDE: 3.1.0.501,SDK版本:3.2.12.5 ,API9






作者: 努力写bug    时间: 2023-9-11 09:20
可能之前版本,对权限配置不是很严格,你这个配置就不符合标准,requestPermissions的值对应是数组,然后数组里面元素是对象,你这里数组只算是一个对象,其实应该是三个对象的。
如下面代码:
  1. requestPermissions: [
  2.     {"name": "ohos.permission.INTERNET"},
  3.     {"name": "ohos.permission.READ_MEDIA"},
  4.     {"name": "ohos.permission.WRITE_MEDIA"},
  5. ]
复制代码





欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5