Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

183
Views
Pass cookie header with Flask test client request

I am having trouble getting the Flask test client to pass cookies. This code used to work and I presume something in my environment changed, which breaks this. I recently created a new Python 3.7 virtualenv and installed Flask 1.0.2.

from flask import Flask, jsonify, request

app = Flask(__name__)


@app.route('/cookie_echo')
def cookie_echo():
    return jsonify(request.cookies)


with app.test_client() as client:
    response = client.get("/cookie_echo", headers={"Cookie": "abc=123; def=456"})
    print(response.get_data(as_text=True))

Running the example prints {}, but I expect it to print {"abc":"123","def":"456"}.

If I run my app via flask run, sending headers with curl works:

$ curl -H "Cookie: abc=123; def=456" http://localhost:5000/cookie_echo
{"abc":"123","def":"456"}
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

The Client manages cookies, you should not pass them manually in headers={}. Due to changes in Werkzeug 0.15, passing a Cookie header manually, which was not intended, no longer works. Use client.set_cookie to set a cookie, or set the cookie in a response and it will be sent with the next request.

c = app.test_client()
c.set_cookie('localhost', 'abc', '123')
c.set_cookie('localhost', 'def', '456')
c.get('/cookie_echo')
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!