Shu*_*ury 3 cookies android webview ios react-native
我已经为 React Native 应用程序提供了几个 API。一个端点用于身份验证,它返回一个允许访问其他 API 的 cookie。
cookie 具有以下结构:
{"auth":"ok","instance":"private","cookies":{"SSOsess":"300|c6dc6d70vfvbf0891004364665f24b77","RTBk":"300|451706342c67a37dfe5dede0b5d22469","ph03RPNCiscoASA":"application.api.urlweb.com","ph04RPNCiscoASA":"application.client.urlweb.com"}}
Run Code Online (Sandbox Code Playgroud)
经过一些格式化后,cookie 就可以发送了,如下所示:
SSOsess=300%7Cc6dc6d70vfvbf0891004364665f24b77; RTBk=300%7C451706342c67a37dfe5dede0b5d22469;
ph03RPNCiscoASA=application.api.urlweb.com;
ph04RPNCiscoASA=application.client.urlweb.com;
Run Code Online (Sandbox Code Playgroud)
React Native 应用程序中的一些WebView内容可以访问使用最初提供的一些 API 的网站的某些受限部分。
我怎样才能将cookie发送到WebView?我知道 React Native 有一些属性可用于将 cookie 注入到 WebView 中,例如injectedJavaScript或injectedJavaScriptBeforeContentLoaded但这些属性到底应该包含什么?
我尝试通过以下方式发送但不起作用:
<WebView source={{ uri: 'http://urlweb.com' }}
               style={{width: 600, height: 400}}
               injectedJavaScriptBeforeContentLoaded={jsInjectedCode}
/>
Run Code Online (Sandbox Code Playgroud)
在哪里
jsInjectedCode = 'document.cookie = '+'SSOsess=300%7Cc6dc6d70vfvbf0891004364665f24b77; RTBk=300%7C451706342c67a37dfe5dede0b5d22469;
    ph03RPNCiscoASA=application.api.urlweb.com;
    ph04RPNCiscoASA=application.client.urlweb.com;'
Run Code Online (Sandbox Code Playgroud)
    你可以像这样将 cookies 字符串传递到Cookie内部DOCSheader
import React, {Component} from 'react';
import {StyleSheet, View} from 'react-native';
import {WebView} from 'react-native-webview';
export default class App extends Component {
  render() {
    const cookiesString="cookie1=asdf; cookie2=dfasdfdas";   //here you can put your cookies
    return (
      <View style={styles.container}>
        <WebView
          source={{
            uri: `${domain}`,
            headers: {
              Cookie: cookiesString,
            },
          }}
          style={styles.WebViewStyle}
        />
      </View>
    );
  }
}
const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#FFF',
  },
  WebViewStyle: {
    flex: 1,
    resizeMode: 'cover',
  },
});
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           2092 次  |  
        
|   最近记录:  |