Vad är syftet med “ använd curl –cookie med en fil som inte finns ' t ”?
On februari 13, 2021 by adminFrån https://curl.haxx.se/docs/httpscripting.html
Curl ”s” cookie engine ”aktiveras när du använder alternativet –cookie. Om du bara vill curl för att förstå mottagna kakor , använd –cookie med en fil som inte finns. Exempel, om du vill låta curl förstå cookies från en sida och följa en plats (och därmed eventuellt skicka tillbaka cookies som den fått) kan du åberopa den som:
curl --cookie nada --location http://www.example.com
Vad är syftet med ”använd – cookie med en fil som inte finns”?
Vad gör ”om du bara vill ha krullning att förstå mottagna kakor ”betyder?
Tack.
Svar
När du använder -L
alternativ (”följ 3XX omdirigeringar”) och använder även --cookie
med en icke-existerande fil, curl
skickar i efterföljande förfrågningar de cookies som ställts in i tidigare svar utan att lagra dem permanent någonstans. IMHO, istället för att använda en icke-befintlig fil, skulle --cookie /dev/null
vara säkrare och uppnå samma effekt.
Curl kommer inte skicka tillbaka cookies som standard, såvida inte --cookie
eller --cookie-jar
alternativ användes. Men många webbplatser skickar dig till oändliga omdirigeringar om du inte accepterar deras cookies, men du kanske inte vill lagra något tillstånd på disken och låta dem spåra dig genom separata curl
anrop .
Exempel med falsk --cookie
-fil:
curl --cookie nada -v -L https://www.google.com/news -o /dev/null 2>&1 | egrep -i "cookie|Connected to|^> GET|^< HTTP" * Connected to www.google.com (2a00:1450:400d:803::2004) port 443 (#0) > GET /news HTTP/1.1 < HTTP/2 302 * Added cookie NID="158=LONG-GARBAGE" for domain google.com, path /, expire 1564698265 < set-cookie: NID=158=LONG-GARBAGE;Domain=.google.com;Path=/;Expires=Thu, 01-Aug-2019 22:24:25 GMT;HttpOnly * Connected to news.google.com (2a00:1450:400d:807::200e) port 443 (#1) > GET /news HTTP/1.1 > Cookie: NID=158=LONG-GARBAGE < HTTP/2 301 * Connected to news.google.com (2a00:1450:400d:807::200e) port 443 (#2) > GET / HTTP/1.1 > Cookie: NID=158=LONG-GARBAGE < HTTP/2 302 * Connected to news.google.com (2a00:1450:400d:807::200e) port 443 (#3) > GET /?hl=en-US&gl=US&ceid=US:en HTTP/1.1 > Cookie: NID=158=LONG-GARBAGE < HTTP/2 200
Och utan en:
curl -v -L https://www.google.com/news -o /dev/null 2>&1 | egrep -i "cookie|Connected to|^> GET|^< HTTP" * Connected to www.google.com (2a00:1450:400d:803::2004) port 443 (#0) > GET /news HTTP/1.1 < HTTP/2 302 < set-cookie: NID=158=LONG-GARBAGE;Domain=.google.com;Path=/;Expires=Thu, 01-Aug-2019 22:24:43 GMT;HttpOnly * Connected to news.google.com (2a00:1450:400d:807::200e) port 443 (#1) > GET /news HTTP/1.1 < HTTP/2 301 < set-cookie: NID=158=LONG-GARBAGE;Domain=.google.com;Path=/;Expires=Thu, 01-Aug-2019 22:24:43 GMT;HttpOnly * Connected to news.google.com (2a00:1450:400d:807::200e) port 443 (#2) > GET / HTTP/1.1 < HTTP/2 302 < set-cookie: NID=158=LONG-GARBAGE;Domain=.google.com;Path=/;Expires=Thu, 01-Aug-2019 22:24:43 GMT;HttpOnly * Connected to news.google.com (2a00:1450:400d:807::200e) port 443 (#3) > GET /?hl=en-US&gl=US&ceid=US:en HTTP/1.1 < HTTP/2 200 < set-cookie: NID=158=LONG-GARBAGE;Domain=.google.com;Path=/;Expires=Thu, 01-Aug-2019 22:24:43 GMT;HttpOnly
Lägg märke till hur den andra anropet ignorerar kakorna som ställts in i svar med set-cookie
istället för att skicka tillbaka dem i förfrågningar.
-L
är ett fall därcurl
gör flera förfrågningar i en enda anrop; annat fall är där du ' användercurl
med flera webbadresser. 2. genom att inte använda något--cookie
-alternativ som jag gjorde i det andra exemplet. " Accepterar cookies " betyder att du skickar tillbaka dem i förfrågningar, i enCookie:
rubrik.