アプリケーションで作成したCookieを保存する方法を知りたいですdocument.cookie
。https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie)、私が気づいたように、wget / curlファイルに保存する一般的な方法は、この特別な場合には機能しないようです。
WebアプリケーションがCookieに書き込むとします。
document.cookie = name + "=" + value + expires + "; path=/";
例えば、
wget --keep-session-cookies --save-cookies cookies.txt "http://foobar/app-generates-cookie.html"
または乾かしたり、
curl --cookie-jar cookie.txt http://foobar/app-generates-cookie.html
上記の適用例にはwget / curlは適していません。
答え1
HTMLコードでJavaScriptを使用してクライアント側にCookieを保存すると、この方法は機能しません。 Wgetとカールは、JavaScriptコードを解釈せずにサーバーから送信された応答のみを返します。
サーバー側でCookieを設定する必要があります。クッキー設定PHPで。この Cookie は HTTP 応答ヘッダーに送信されます。クッキー設定フィールドはwget / curlを介して保存できます。
wget
Cookieを含む応答ヘッダー(-S
/オプションを使用した出力--server-response
)は次のとおりです。
HTTP/1.1 200 OK
Date: Fri, 01 Nov 2019 00:33:05 GMT
Server: Apache/2.4.25 (Debian)
Set-Cookie: testcookie=myvalue; expires=Fri, 01-Nov-2019 01:33:05 GMT; Max-Age=3600
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
クッキーは、以下を使用してPHPページで設定されます。
<?php setcookie("testcookie", "myvalue", time()+3600); ?>