Wat is het doel van “ curl –cookie gebruiken met een bestand dat niet ' t bestaat ”?
Geplaatst op februari 13, 2021 door adminVan https://curl.haxx.se/docs/httpscripting.html
Curl “s” cookie-engine “wordt ingeschakeld wanneer u de –cookie-optie gebruikt. Als u alleen wilt curl om ontvangen cookies te begrijpen , gebruik –cookie met een bestand dat niet bestaat. Als u bijvoorbeeld curl cookies van een pagina wilt laten begrijpen en een locatie wilt laten volgen (en dus mogelijk ontvangen cookies terug wilt sturen), kunt u deze aanroepen als:
curl --cookie nada --location http://www.example.com
Wat is het doel van “gebruik –cookie met een bestand dat” niet bestaat “?
Wat doet” als je alleen maar curl wilt om ontvangen cookies te begrijpen “betekenen?
Bedankt.
Antwoord
Wanneer u de -L
optie (“follow through 3XX redirects”) en ook --cookie
gebruiken met een niet-bestaand bestand, curl
stuurt bij volgende verzoeken de cookies die in eerdere reacties zijn ingesteld, zonder ze ergens permanent op te slaan. IMHO, in plaats van een niet-bestaand bestand te gebruiken, zou het gebruik van --cookie /dev/null
veiliger zijn en hetzelfde effect bereiken.
Curl zal niet cookies standaard terugsturen, tenzij de --cookie
of --cookie-jar
opties werden gebruikt. Maar veel sites sturen u oneindige omleidingen als u hun cookies niet accepteert; het kan echter zijn dat u geen enkele staat op schijf wilt opslaan en ze u via afzonderlijke curl
aanroepen wilt laten volgen .
Voorbeeld met een nep --cookie
-bestand:
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
En zonder:
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
Merk op hoe de tweede aanroep de cookies negeert die zijn ingesteld in reacties met set-cookie
in plaats van ze terug te sturen in verzoeken.
-L
is een geval waarincurl
doet meerdere verzoeken in een enkele aanroep; een ander geval is waar u 'curl
gebruikt met meerdere URLs. 2. door geen--cookie
optie te gebruiken zoals ik deed in het 2e voorbeeld. " Cookies accepteren " betekent dat ze teruggestuurd worden in verzoeken, in eenCookie:
header.