浏览器获取京东Cookie教程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器获取京东Cookie教程相关的知识,希望对你有一定的参考价值。
参考技术A 以下内容只限于前端技术交流,请勿用于任何违法行为浏览器要求:
Chrome浏览器(谷歌)
新版Edge浏览器
国产百分浏览器-CentBrower
国产360、QQ浏览器切换到极速模式
操作步骤:
电脑浏览器打开京东网址: https://m.jd.com/
按键盘F12键打开开发者工具,然后点下图中的图标,切换到触屏版界面浏览!
此时是未登录状态( 建议使用手机短信验证码登录 ),如已登录请忽略此步骤
使用手机短信验证码登录(此方式cookie有效时长大概31天,其他登录方式比较短)
登录后,选择 Network ,有很多链接的话点箭头这里清空下
然后再点我的,链接就变少了
点第一个链接(log.gif)进去,找到Cookie 。
可以看出京东的cookie技术还是很成熟的,自己开发中可以参考该做法。
Selenium+Ruby 实例分析 - 京东抢券 2 处理cookie
上一次给大家介绍了如何登录京东。大家会发现很多时候京东的登录会需要输入验证码,这个时候利用selenium是无法通过图片来获取识别码的。如何获取图片中的识别码是另外一个问题,不在这里讨论。但是我们依然需要解决登录的问题。
大家都知道浏览器是通过cookie来应对HTTP请求的验证的。而Selenium也提供了丰富的关于cookie的处理方法,下面我就通过例子来介绍这些方法。
def store_cookies $dr.get("http://www.jd.com/") #manual login Dir.mkdir "#{File.dirname(__FILE__)}/config.yml" if not File.exist? "#{File.dirname(__FILE__)}/config.yml" IO.write("#{File.dirname(__FILE__)}/config.yml", $dr.manage.all_cookies.to_yaml) end
上面的代码中,第一步是使用webdriver打开京东的首页。这个时候如果需要输入验证码,我们之前的方法就无法成功登录了。这时需要手动登录一次(可以使用pry这个gem来打断点实现操作暂停)。
在登录后的界面,使用 $dr.manage.all_cookies 这个方法来获取当前页面保存的cookies,并把这些cookies以ymal文件的格式保存在配置文件中,方便下次脚本运行时使用。
已经获取了cookie后,在cookie的有效期内可以重复使用。
1 $dr = Selenium::WebDriver.for :chrome 2 $dr.manage.delete_all_cookies 3 cookies = YAML.load(File.open("config.yml")) 4 cookies.each do |cookie| 5 $dr.manage.add_cookie(cookie) 6 end
使用时,首先启动浏览器,然后清空当前浏览器的全部cookies $dr.manage.delete_all_cookies ,避免干扰。
接着从配置文件中读取保存的cookies。然后把cookies一个个的添加到当前浏览器中。
这个时候再去访问京东的页面,就是已经登录的状态了。
以上是关于浏览器获取京东Cookie教程的主要内容,如果未能解决你的问题,请参考以下文章