前面大概介绍了react-native的运行helloword级别的入门,所以之后简单的东西就不写了,毕竟官网上都能够找到。

reactnative官网:https://facebook.github.io/react-native/docs/getting-started.html

reactnative中文网:http://reactnative.cn/docs/0.25/getting-started.html

之后我会把工作中遇到的一些react-native的深坑分享一下。

正题===========================

客户端cookies的获取就是一个大坑。

1.使用三方

研究ReactNative的源码发现,框架中并没有实现iOS的NSHTTPCookieStorage的api,所以搜遍百度谷歌和bing,最终找到了一个哥们写的第三方cookies工具:

https://github.com/joeferraro/react-native-cookies

这里需要一提的是,我需要取得cookie不仅是dictionary形式的cookies,而是用于http请求的cookiesHeader(比较特殊),其格式是string,在OC中取得的方式是:

NSArray *cookies = [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookiesForURL:url];
NSDictionary *header = [NSHTTPCookie requestHeaderFieldsWithCookies:cookies];

但这一块原作者的框架中貌似存在一定的问题,所以我写了一个pull request,具体可以访问我fork的项目:

https://github.com/rayshen/react-native-cookies

(如果你需要取得的Cookie是用来解析取值或是保存重新加入的,用get("url",res)或者getAll()函数取得的比较适合)

2.获取当前url

这就需要结合webview控件来进行操作了。

首先我们需要确定当前的url,当前的url可以从webview控件绑定的事件onNavigationStateChange去取得:

onNavigationStateChange={this.onNavigationStateChange.bind(this)}
 onNavigationStateChange(navState) {
console.log(navState.url);
this.curUrl = navState.url;
}

3.取得url的cookie header:

 CookieManager.getHeader(this.curUrl, (err, res) => {
console.log('Got cookies for url: ' + res.Cookie);
})

4.取得url的所有cookies

CookieManager.get('http://example.com', (err, res) => {
console.log(res);
})

  

5.取得当前所有的cookies

CookieManager.getAll((err, res) => {
console.log('cookies!');
console.log(err);
console.log(res);
});

需要注意的是,getAll()和set()都是iOS Only的函数。

 

ReactNative 当前url和cookies的获取的更多相关文章

  1. Django 设置cookies与获取cookies.

    在Django里面,使用Cookie和Session看起来好像是一样的,使用的方式都是request.COOKIES[XXX]和request.session[XXX],其中XXX是您想要取得的东西的 ...

  2. 定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容。提示(可以了解python的urllib模块)

    定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容.提示(可以了解python的urllib模块) import urllib.request def get_ ...

  3. js获取网页的url文件名( 例如index.aspx),js获取url的参数(例如获取 ?cid=joeylee的值),给jquery拓展方法

      <script type="text/javascript"> var JsRequest={ //这就是一个静态类,类里面有2个静态方法 //方法一:获取url的 ...

  4. JQuery URL的GET参数值获取方法

    // jQuery url get parameters function [获取URL的GET参数值] // <code> // var GET = $.urlGet(); //获取UR ...

  5. 【接口测试】使用httpClient获取cookies+携带获取的cookies访问get接口

    数据准备 在本机或者远端机器安装部署moco-runner(参考:https://blog.csdn.net/qq_32706349/article/details/80472445) 这里我们只需要 ...

  6. express中url的参数传递和获取

    1,传统get参数 浏览器通过这种形式的url访问localhost/userlist?id=xxx&name=yyy,这种方式可以通过req.query.id获取参数的值 router.ge ...

  7. 如何用js得到当前页面的url信息方法(JS获取当前网址信息)

    设置或获取对象指定的文件名或路径. alert(window.location.pathname) 设置或获取整个 URL 为字符串. alert(window.location.href); 设置或 ...

  8. 向指定URL发送GET方法获取资源,编码问题。 Rest风格

    http编码.今天遇到获取网页上的数据,用HTTP的GET请求访问url获取资源,网上有相应的方法.以前一直不知道什么事rest风格,现在我想就是开一个Controller,然后使人可以调用你的后台代 ...

  9. cookies的获取,删除,设置

    cookies,sessionStorage 和 localStorage 的区别? 1.cookie在浏览器和服务器间来回传递. sessionStorage和localStorage不会: 2.s ...

随机推荐

  1. Hadoop学习2

    搭建伪分布式完成之后: 伪分布式安装详细介绍:http://www.powerxing.com/install-hadoop/ 练习1 编写Java程序实现以下函数: 1.向HDFS中上传文件 2.从 ...

  2. Redis 5种数据结构使用及注意事项

    1优缺点 非常非常的快,有测评说比Memcached还快(当大家都是单CPU的时候),而且是无短板的快,读写都一般的快,所有API都差不多快,也没有MySQL Cluster.MongoDB那样更新同 ...

  3. mapreduce导出MSSQL的数据到HDFS

    今天想通过一些数据,来测试一下我的<基于信息熵的无字典分词算法>这篇文章的正确性.就写了一下MapReduce程序从MSSQL SERVER2008数据库里取数据分析.程序发布到hadoo ...

  4. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  5. 长见识了,知道了collected和Graphite 这两个东东

    今天下午的讨论会议中,听到了两个名词collected和Graphite这是神马东东,以前在bingo的时候也没听说过,开完会下去查了下.原来他两是监控系统的啊.以前也从来没做过系统监控方面的项目,这 ...

  6. Win Server 2008 RD案例:Client通过Server的浏览器上网

    一.简介 RD是Windows Server远程桌面服务,可以实现从客户端运行服务器上的软件.首先在Server安装软件,设置能远程访问的应用和账号,并且创建.rdp快捷方式文件,然后Client打开 ...

  7. Java 容器(list, set, map)

    java容器类库的简化图: (虚线框表示接口, 实线框表示普通的类, 空心箭头表示特定的类实现了接口, 实心箭头表示某个类可以生成箭头所指的类对象) 继承Collection的主要有Set 和 Lis ...

  8. EF6 Create Different DataContext on runtime(运行时改变连接字符串)

    引言   在使用EF时,有时我们需要在程序运行过程中动态更改EF的连接字符串,但不幸的时EF是否对 ConfigurationManager.RefreshSection("xxx" ...

  9. 一致性算法RAFT详解

    原帖地址:http://www.solinx.co/archives/415?utm_source=tuicool&utm_medium=referral一致性算法Raft详解背景 熟悉或了解 ...

  10. 一个简单的统计图像主颜色的算法(C#源代码)

    前段日子有朋友咨询了下分析图像主颜色的算法,我对这一块也没有什么深入的研究,参考了一些小代码,然后自己写了一个很简单的小工具,现共享给大家. 界面截图如下: 算法的原理很简单,就是统计出图像中各种颜色 ...