MalformedCookieException: недопустимый атрибут 'expires' - PullRequest
1 голос
/ 07 февраля 2020

Мы используем менеджер заголовков в нашем скрипте JMeter и получаем следующее исключение в одном из ответов на запрос. Я попытался со всеми доступными опциями в менеджере заголовков, но не повезло.

Ответ с сервера, на котором было выдано исключение, был: Set-Cook ie: X-Region = B; истекает = 1581079580; путь = /

Я посмотрел на нескольких сайтах, но без разрешения. Не могли бы вы предложить решение для этого исключения -

org. apache .http.cook ie .MalformedCookieException: недопустимый атрибут 'expires': 1581079580 в org. apache .http. impl.cook ie .LaxExpiresHandler.parse (LaxExpiresHandler. java: 161) ~ [httpclient-4.5.6.jar: 4.5.6] в орг. apache .http.impl.cook ie .RFC6265CookieSpe c .parse (RFC6265CookieSpe c. java: 181) ~ [httpclient-4.5.6.jar: 4.5.6] в орг. apache .jmeter.protocol.http.control.HC4CookieHandler.addCookieFromHeader ( HC4CookieHandler. java: 125) [ApacheJMeter_http.jar: 5.0 r1840934]

Ответы [ 2 ]

0 голосов
/ 10 февраля 2020

Что вы хотите исправить со стороны JMeter?

В соответствии с RF C 6265 формат атрибута Expires выглядит следующим образом:

cookie-date     = *delimiter date-token-list *delimiter
   date-token-list = date-token *( 1*delimiter date-token )
   date-token      = 1*non-delimiter

   delimiter       = %x09 / %x20-2F / %x3B-40 / %x5B-60 / %x7B-7E
   non-delimiter   = %x00-08 / %x0A-1F / DIGIT / ":" / ALPHA / %x7F-FF
   non-digit       = %x00-2F / %x3A-FF

   day-of-month    = 1*2DIGIT ( non-digit *OCTET )
   month           = ( "jan" / "feb" / "mar" / "apr" /
                       "may" / "jun" / "jul" / "aug" /
                       "sep" / "oct" / "nov" / "dec" ) *OCTET
   year            = 2*4DIGIT ( non-digit *OCTET )
   time            = hms-time ( non-digit *OCTET )
   hms-time        = time-field ":" time-field ":" time-field
   time-field      = 1*2DIGIT

Я ожидаю, что сервер должен вернуть что-то вроде:

Expires=Fri, 07 Feb 2020 12:46:00 GMT

Поэтому вам нужно поднять ошибку в вашем приложении вместо того, чтобы искать обходной путь.

Если вы абсолютно уверены, что ваше приложение работает должным образом (на мой взгляд, это не так), вы не сможете автоматически обрабатывать куки с помощью HTTP Cook ie Manager, вам придется извлечь их из предыдущего ответа Set-Cook ie используя заголовок, например, Извлечение регулярных выражений и добавьте заголовок Cook ie с извлеченными значениями, используя Диспетчер заголовков HTTP

0 голосов
/ 07 февраля 2020

Похоже, ваш атрибут 'expires' не соответствует https://tools.ietf.org/html/rfc6265 Время эпохи 1581079580 Но должно быть время в формате, заданном https://tools.ietf.org/html/rfc2616#section -3.3.1 Например: Wed, 09 Jun 2021 10:18:14 GMT У вас есть политика повара ie, установленная на standard или standard-strict (RFC6265)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...