#鸿蒙通关秘籍#在HarmonyOS Next中如何模拟登录以下载受保护的文件?

HarmonyOS
2024-12-05 15:48:57
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Yvr第七章ETL

在需要登录才能下载文件的情况下,首先应通过HttpRequest模块实现模拟登录。获取登录成功后的cookie(sessionId)信息,以便在下载文件时传递认证凭证。

import http from '@ohos.net.http';

let loginUrl = 'http://example.com/auth';
let loginName = 'zhanglei';
let passwd = 'cangjie';
let opts = {
  method: http.RequestMethod.POST,
  extraData: `username=${loginName}&password=${passwd}`,
  header: { 'Content-Type': 'application/x-www-form-urlencoded' },
  expectDataType: http.HttpDataType.STRING
};

http.createHttp().request(loginUrl, opts)
    .then(resp => {
        let cookies = resp.header['set-cookie'];
        let sessionId = cookies.split(';')[0].split('=')[1];
        console.log('Session ID:', sessionId);
    })
    .catch(err => {
        console.error('Login failed:', err.message);
    });

使用从响应中解析的sessionId在后续的文件下载请求中进行认证。


分享
微博
QQ
微信
回复
2024-12-05 17:27:44
相关问题