1

Моя задача - отправить мое печенье вместе с моей полезной нагрузкой. Я просто добавляю cookie в существующую и работающую программу. Полезная нагрузка (песня) становится очень хорошей. И я не получаю никаких ошибок в консоли браузера.

Кажется, я могу отправить куклу вместе с моими данными в формате JSON.

Когда я смотрю на заголовки в инструментах разработчика Chrome, я вижу куки. Но когда я ищу файл cookie на вкладке Приложение >> Файл cookie, ничего не появляется. Таким образом, заголовок cookie, похоже, отправлен, клиент не хранит его.

А у клиента .... document.cookie равно нулю.

Мой тестовый код создает один файл cookie с именем sessionID.

Вот заголовок ответа в Chrome: вы можете увидеть мой поддельный cookie ID сессии: Access-Control-Allow-Credentials: true

Access-Control-Allow-Origin:null

Content-Type:text/plain

Date:Wed, 23 Nov 2016 22:41:10 GMT

Server:BaseHTTP/0.6 Python/3.5.2

Set-Cookie:sessionID=4jjdd7ghhq

Вот скриншот, указывающий на отсутствие файлов cookie. в приложении нет файлов cookie

Вот мой код сервера, написанный на Python3:

def do_OPTIONS(self):
    self.send_response(200)       
    self.send_header("Access-Control-Allow-Origin", self.headers["Origin"])
    self.send_header("Access-Control-Allow-Credentials", "true")            
    self.send_header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
    self.send_header('Access-Control-Allow-Headers', 'Content-Type')
    self.end_headers()
    return

def do_GET(self):
    if self.path.startswith("/songs/ID"):
        self.load_cookie()
        db=MediaDB()
        ID = self.parseID(self.path)
        song = db.getSong(ID)
        self.send_response(200)
        self.send_header('Access-Control-Allow-Origin', self.headers["Origin"])
        self.send_header("Access-Control-Allow-Credentials", "true") 
        self.send_header("Content-Type", "text/plain")      
        self.cookie["sessionID"] = "4jjdd7ghhq"
        self.send_cookie()
        self.end_headers()
        json_string = json.dumps(song)
        self.wfile.write(bytes(json_string, "utf-8"))
    elif self.path.startswith("/songs"):
        self.getSongs()
        return
    else:
        self.badPath()
        return  


def load_cookie(self):
    if "Cookie" in self.headers:
        self.cookie = cookies.SimpleCookie(self.headers["Cookie"])
    else:
        self.cookie = cookies.SimpleCookie()
    return

def send_cookie(self):
    for morsel in self.cookie.values():
        self.send_header("Set-Cookie", morsel.OutputString())
    return

================

Мои поиски не увенчались успехом. Если есть что-то, что может мне помочь, я ценю, что вы указали на это. О, кстати, моя кожа довольно толстая, поэтому, если я делаю что-то глупое - это нормально, чтобы указать на это ... Я должен как-то учиться. ха!

Кроме того, если вам интересно, потому что Chrome иногда не устанавливает cookie, если клиент и хост находятся в одной и той же системе, я проверил это на сервере с удаленной системой и клиенте на моей локальной системе. хост.

Опять же, я ценю вашу помощь.

0