反应本地获取Cookie |
您所在的位置:网站首页 › cookies获取 › 反应本地获取Cookie |
我已经使用fetch()登录到服务器,我想知道如何获取COOKIE。 我知道我可以使用“ document.COOKIE ”在Web浏览器开发中获取COOKIE,但是在响应本机开发中如何?非常感谢你。 1> jneuendorf..: 我只是遇到了同样的问题。我的第一种方法是从响应标题中手动获取COOKIE。自从Headers.prototype.getAll删除以来,这变得更加困难(请参阅此问题)。详细信息在下面进一步显示。 可能不需要获取和解析COOKIE首先,我要提到的是,下面所有的COOKIE解析都是不必要的,因为React Nativefetch上的实现会自动发送COOKIE(如果密钥设置正确)。因此,会话保持不变(就像在浏览器中一样),并且进一步的es可以正常工作。不幸的是,关于网络的React Native文档没有明确告诉您它将立即可用。它只说:“ React Native提供了Fetch API来满足您的网络需求。”credentialsfetch 第一种方法因此,我编写了一个辅助函数: // 'headers' is iterable const get_set_COOKIEs = function(headers) { const set_COOKIEs = [] for (const [name, value] of headers) { if (name === "set-COOKIE") { set_COOKIEs.push(value) } } return set_COOKIEs } fetch(url, { method: "POST", credentials: "same-origin", // or 'include' depending on CORS // ... }) .then(respOnse=> { const set_COOKIEs = get_set_COOKIEs(response.headers) })要将COOKIE字符串解析为对象,我使用了set-COOKIE-parser。这样我想像手动发送回饼干 import SetCOOKIEParser from "set-COOKIE-parser" const COOKIEs_to_send = set_COOKIEs .map(COOKIE => { const parsed_COOKIE = SetCOOKIEParser.parse(COOKIE) return `${COOKIE.name}=${COOKIE.value}` }) .join('; ') fetch(url, { method: "POST", credentials: "same-origin", // or 'include' depending on CORS headers: { COOKIE: COOKIEs_to_send, // ... }, // ... }) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |