Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid character in cookie value #8

Closed
alexandrefett opened this issue May 18, 2018 · 12 comments
Closed

Invalid character in cookie value #8

alexandrefett opened this issue May 18, 2018 · 12 comments

Comments

@alexandrefett
Copy link

alexandrefett commented May 18, 2018

Invalid character in cookie value, code unit: '34'

Dio dio = new Dio();
  dio.options = new Options(
      baseUrl: Endpoint.BASE_URL,
      connectTimeout: 5000,
      receiveTimeout: 10000,
      // 5s
      headers: {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
        "Accept-Encoding": "gzip"
      }
  );
Future basePage() async {
    Response response = await client.get("https://www.instagram.com");
    print(response.data);
  }
@wendux
Copy link
Contributor

wendux commented May 18, 2018

Could you paste the stacktrace ?

@alexandrefett
Copy link
Author

Unhandled exception:
FormatException: Invalid character in cookie value, code unit: '34'
#0 _Cookie._validate (dart:io/http_headers.dart:995)
#1 new _Cookie (dart:io/http_headers.dart:844)
#2 new Cookie (dart:io/http.dart:868)
#3 Instagram.basePage... (package:instascrapper/instascrapper.dart:45:31)

@jave1987
Copy link

jave1987 commented Jun 5, 2018

i have same error

@jave1987
Copy link

jave1987 commented Jun 5, 2018

[ERROR:topaz/lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
DioError [DioErrorType.DEFAULT]: FormatException: Invalid character in cookie name, code unit: '58'

@wendux
Copy link
Contributor

wendux commented Jun 5, 2018

@jave1987 what's your request url ?

@jave1987
Copy link

jave1987 commented Jun 5, 2018

I fix it , there is '@' in url

@alexdelorenzo
Copy link

alexdelorenzo commented Jul 6, 2018

Can confirm the same error with Instagram and other sites.

edit: This seems to stem from an issue in dart's standard library. I created a push request with a fix here: dart-lang/sdk#33765

@jackxuechen
Copy link

jackxuechen commented Jul 10, 2018

@thismachinechills
I also encountered this problem when using dio in the project of flutter. How should I use the code you submitted

@Blankeer
Copy link

Blankeer commented Aug 5, 2018

I have encountered the same problem, how to solve it ...
DioError [DioErrorType.DEFAULT]: FormatException: Invalid character in cookie value, code unit: '34'

@wendux
Copy link
Contributor

wendux commented Sep 18, 2018

In my box I run the code as follows:

  try {
    Response r = await dio.get("https://www.instagram.com");
    print(r.headers);
  }on DioError catch(e){
     print(e);
     print(e.response.statusCode);
  }

It works well,and the log:

connection: keep-alive
cache-control: private, no-cache, no-store, must-revalidate
set-cookie: sessionid=""; Domain=instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
set-cookie: sessionid=""; Domain=.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
set-cookie: sessionid=""; Domain=i.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
set-cookie: sessionid=""; Domain=.i.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
set-cookie: sessionid=""; Domain=www.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
set-cookie: sessionid=""; Domain=.www.instagram.com; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
set-cookie: sessionid=""; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
set-cookie: rur=PRN; Domain=.instagram.com; Path=/
set-cookie: mid=W6B4uAAEAAHsy45UUgwJdX2vQLf5; Domain=.instagram.com; expires=Fri, 15 Sep 2028 04:02:00 GMT; Max-Age=315360000; Path=/
set-cookie: mcd=3; Domain=.instagram.com; expires=Fri, 15 Sep 2028 04:02:00 GMT; Path=/
set-cookie: csrftoken=ZnlfxdwG4v7zmFE3Kz5wmuPPcG8HQN4g; expires=Tue, 17-Sep-2019 04:02:00 GMT; Max-Age=31449600; Path=/; Secure
date: Tue, 18 Sep 2018 04:02:00 GMT
content-encoding: gzip
vary: Accept-Language, Cookie, Accept-Encoding
strict-transport-security: max-age=60
pragma: no-cache
content-type: text/html; charset=utf-8
content-language: en
content-security-policy-report-only: report-uri /security/csp_report/; default-src * data: blob:; script-src https://*.instagram.com https://*.cdninstagram.com https://*.facebook.com https://*.fbcdn.net https://*.facebook.net wss://*.instagram.com 'unsafe-inline' 'unsafe-eval' blob: data: 'self'; style-src data: blob: 'unsafe-inline' *; connect-src https://*.instagram.com https://*.cdninstagram.com https://*.facebook.com https://*.fbcdn.net https://*.facebook.net 'self' chrome-extension://boadgeojelhgndaghljhdicfkmllpafd; block-all-mixed-content; frame-ancestors 'self'; frame-src 'self' https://staticxx.facebook.com https://www.facebook.com https://web.facebook.com https://connect.facebook.net https://m.facebook.com; object-src 'none'
content-length: 7935
x-frame-options: SAMEORIGIN
expires: Sat, 01 Jan 2000 00:00:00 GMT

my dart version:

Dart VM version: 2.1.0-dev.4.0 (Fri Sep 7 16:44:38 2018 +0200) on "macos_x64"

It seems to be the lower version Dart SDK bug, and has been fixed dart-lang/sdk@a9ad427.

@wendux
Copy link
Contributor

wendux commented Feb 22, 2019

Fixed, dart-lang/sdk#33765

@jinyus
Copy link

jinyus commented Nov 9, 2020

This happens again when using the cookie_manager interceptor.

Stacktrace:

E/flutter (23638): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: DioError [DioErrorType.DEFAULT]: FormatException: Invalid character in cookie value, code unit: '92' (at character 3)
E/flutter (23638): "{\"1.1.1.11\": 33576}:1kbxcM:p0LIbXZDKdd3sLDH3dlI"
E/flutter (23638):   ^
E/flutter (23638):
�[38;5;248mE/flutter (23638): #0      DioMixin._request._errorInterceptorWrapper.<anonymous closure>.<anonymous closure>.<anonymous closure>�[39;49m
 package:dio/src/dio.dart

Steps to reproduce:

import 'package:dio/dio.dart';
import 'package:dio_cookie_manager/dio_cookie_manager.dart';
import 'package:cookie_jar/cookie_jar.dart';

var dio = Dio(BaseOptions(followRedirects: true));
var cookieJar = CookieJar();
dio.interceptors.add(CookieManager(cookieJar));
var resp = await dio.get('https://www.instagram.com/p/CGQ8sl2DwTj/')

AlexV525 added a commit that referenced this issue Feb 13, 2023
Co-authored-by: hongxiang <huxhu@thoughtworks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants