Hvad er formålet med “ brug curl –cookie med en fil, der ikke findes ' t ”?
On februar 13, 2021 by adminFra https://curl.haxx.se/docs/httpscripting.html
Curl “s” cookie engine “aktiveres, når du bruger indstillingen –cookie. Hvis du kun vil krølle for at forstå modtagne cookies , brug –cookie med en fil, der ikke findes. Eksempel, hvis du vil lade krølle forstå cookies fra en side og følge en placering (og dermed muligvis sende tilbage de modtagne cookies), kan du påberåbe det som:
curl --cookie nada --location http://www.example.com
Hvad er formålet med “brug – cookie med en fil, der ikke findes”?
Hvad gør “hvis du kun vil krølle at forstå modtagne cookies “betyder?
Tak.
Svar
Når du bruger -L
mulighed (“følg gennem 3XX omdirigeringer”) og også bruge --cookie
med en ikke-eksisterende fil, curl
vil i efterfølgende anmodninger sende de cookies, der er angivet i tidligere svar, uden at gemme dem permanent hvor som helst. IMHO, i stedet for at bruge en ikke-eksisterende fil, ville det være mere sikkert at bruge og opnå den samme effekt.
Curl vil ikke sender som standard nogen cookies tilbage, medmindre --cookie
eller --cookie-jar
optioner blev brugt. Men mange sider sender dig til uendelige omdirigeringer, hvis du ikke accepterer deres cookies, men du vil muligvis ikke gemme nogen tilstand på disken og lade dem spore dig gennem separate curl
påkaldelser .
Eksempel med en 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
Og uden 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æg mærke til, hvordan den anden påkaldelse ignorerer de cookies, der er angivet i svar med set-cookie
i stedet for at sende dem tilbage i anmodninger.
-L
er et tilfælde, hvorcurl
foretager flere anmodninger i en enkelt påkaldelse; et andet tilfælde er, hvor du ' brugercurl
med flere webadresser. 2. ved ikke at bruge nogen--cookie
mulighed, som jeg gjorde i 2. eksempel. " Accept af cookies " betyder at sende dem tilbage i anmodninger i enCookie:
overskrift.