Hva er formålet med “ bruk curl –cookie med en fil som ikke ' t eksisterer ”?
On februar 13, 2021 by adminFra https://curl.haxx.se/docs/httpscripting.html
Curl «s» cookie engine «blir aktivert når du bruker alternativet –cookie. Hvis du bare vil krølle for å forstå mottatte informasjonskapsler , bruk –cookie med en fil som ikke eksisterer. Eksempel, hvis du vil la krøller forstå informasjonskapsler fra en side og følge en plassering (og dermed muligens sende tilbake informasjonskapsler den mottok), kan du påberope den som:
curl --cookie nada --location http://www.example.com
Hva er hensikten med «bruk – cookie med en fil som ikke eksisterer»?
Hva gjør «hvis du bare vil krølle å forstå mottatte informasjonskapsler «betyr?
Takk.
Svar
Når du bruker -L
alternativ («følg gjennom 3XX omdirigeringer») og bruker også --cookie
med en ikke-eksisterende fil, curl
vil sende påfølgende forespørsler om informasjonskapslene som er angitt i tidligere svar uten å lagre dem permanent hvor som helst. IMHO, i stedet for å bruke en ikke-eksisterende fil, ville bruk av --cookie /dev/null
være tryggere og vil oppnå samme effekt.
Krølling vil ikke sender tilbake noen informasjonskapsler som standard, med mindre --cookie
eller --cookie-jar
opsjoner ble brukt. Men mange nettsteder vil sende deg til uendelige viderekoblinger hvis du ikke godtar informasjonskapslene deres. Det kan imidlertid hende du ikke vil lagre noen tilstand på disken og la dem spore deg gjennom separate curl
påkallelser .
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 uten 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
Legg merke til hvordan den andre anropet ignorerer informasjonskapslene som er satt i svar med set-cookie
i stedet for å sende dem tilbake i forespørsler.
-L
er et tilfelle dercurl
gjør flere forespørsler i en enkelt påkalling; et annet tilfelle er der du ' brukercurl
med flere nettadresser. 2. ved ikke å bruke noe--cookie
-alternativ som jeg gjorde i det andre eksemplet. " Godta informasjonskapsler " betyr å sende dem tilbake i forespørsler, i enCookie:
overskrift.