添加具有最大到期日java date Aug 17,292278994 12:42:55 PM的Cookie时,Cookie到期日必须为正整数

添加具有最大到期日java date Aug 17,292278994 12:42:55 PM的Cookie时,Cookie到期日必须为正整数,java,firefox,selenium-webdriver,cookies,session-cookies,Java,Firefox,Selenium Webdriver,Cookies,Session Cookies,我正在尝试添加以下cookie,其有效期为最大java日期8月17日,292278994 12:42:55 PM,该cookie是从firefox web驱动程序的url生成的。 执行此操作时,我得到的Cookie过期时间必须是正整数错误。当过期日期的年份被修改时,cookie似乎不起作用 曲奇: { { "name": "..dbcjjd", "value": "1.2.3.4", "path": "/",

我正在尝试添加以下cookie,其有效期为最大java日期8月17日,292278994 12:42:55 PM,该cookie是从firefox web驱动程序的url生成的。 执行此操作时,我得到的Cookie过期时间必须是正整数错误。当过期日期的年份被修改时,cookie似乎不起作用

曲奇:

 {
    {
          "name": "..dbcjjd",
          "value": "1.2.3.4",
          "path": "/",
          "domain": "abc.com",
          "expiry": "Aug 17, 292278994 12:42:55 PM",
          "isSecure": true,
          "isHttpOnly": false
     },
    {
          "name": "..dbcjjd",
          "value": "1.2.3.4",
          "path": "/",
          "domain": "abc.com",
          "expiry": "Jun 22, 2018 4:11:20 PM",
          "isSecure": true,
          "isHttpOnly": false
     }

    }

    Adding Cookie to driver:

     for(Cookie ck : cookieList)                            
    {
         Cookie newCookie = new Cookie(ck.getName(),ck.getValue(),domain, 
         ck.getPath(), ck.getExpiry(), ck.isSecure());                                                                  
         webDriver.manage().addCookie(newCookie);
    }   
这在最新的Firefox59版本中得到了体验。firefox较低版本中的同一url提供了空有效期。

根据格式正确的日期,有一个由4位数字组成的年份字段,见下文。您提供的年份似乎会导致整数溢出,导致时间戳为负值


一个不过期的曲奇或者仅仅加上50年怎么样?不管你现在做的是什么,50年后都不会使用。firefox 59中的应用程序URL生成的cookie包含了在不同会话中尝试返回驱动程序时的最大java日期,这就造成了这个问题。如果将有效期改为50年,cookie似乎不起作用。有没有办法处理导致负值的整数溢出,由于这是在Firefox 59中生成的,并且Firefox版本较低,它会创建一个无过期的cookie,而不是最大java日期,并允许在不同会话中重用。cookie是由服务器而不是客户端浏览器创建的。我不确定你所说的这是在Firefox59中生成的。浏览器不生成cookie。问题中的Java代码在哪里运行?我们实在没有足够详细的背景来理解这个问题,更不用说帮助你了。
 Preferred format:

   IMF-fixdate  = day-name "," SP date1 SP time-of-day SP GMT
   ; fixed length/zone/capitalization subset of the format
   ; see Section 3.3 of [RFC5322]

   day-name     = %x4D.6F.6E ; "Mon", case-sensitive
                / %x54.75.65 ; "Tue", case-sensitive
                / %x57.65.64 ; "Wed", case-sensitive
                / %x54.68.75 ; "Thu", case-sensitive
                / %x46.72.69 ; "Fri", case-sensitive
                / %x53.61.74 ; "Sat", case-sensitive
                / %x53.75.6E ; "Sun", case-sensitive

   date1        = day SP month SP year
                ; e.g., 02 Jun 1982

   day          = 2DIGIT
   month        = %x4A.61.6E ; "Jan", case-sensitive
                / %x46.65.62 ; "Feb", case-sensitive
                / %x4D.61.72 ; "Mar", case-sensitive
                / %x41.70.72 ; "Apr", case-sensitive
                / %x4D.61.79 ; "May", case-sensitive
                / %x4A.75.6E ; "Jun", case-sensitive
                / %x4A.75.6C ; "Jul", case-sensitive
                / %x41.75.67 ; "Aug", case-sensitive
                / %x53.65.70 ; "Sep", case-sensitive
                / %x4F.63.74 ; "Oct", case-sensitive
                / %x4E.6F.76 ; "Nov", case-sensitive
                / %x44.65.63 ; "Dec", case-sensitive
   year         = 4DIGIT

   GMT          = %x47.4D.54 ; "GMT", case-sensitive

   time-of-day  = hour ":" minute ":" second
                ; 00:00:00 - 23:59:60 (leap second)

   hour         = 2DIGIT
   minute       = 2DIGIT
   second       = 2DIGIT

 Obsolete formats:

   ...