Mi a célja a “ curl – cookie használatának olyan fájlokkal, amelyek nem ' nem léteznek ”?
On február 13, 2021 by adminFeladó https://curl.haxx.se/docs/httpscripting.html
A curl “cookie motorja” engedélyezve van, ha a –cookie beállítást használja. Ha csak göndör a beérkezett sütik megértéséhez , használja a –cookie fájlt, amely nem létezik. Példa, ha azt akarja, hogy a curl megértse a cookie-kat egy oldalról, és kövesse a helyet (és így esetleg visszaküldje a kapott sütiket), akkor ezt úgy hívhatja meg:
curl --cookie nada --location http://www.example.com
Mi a célja a “use –cookie használatának egy olyan fájlnál, amely nem létezik”?
Mit jelent, ha csak göndörítést szeretnél megérteni a beérkezett sütiket “jelent?
Köszönöm.
Válasz
Amikor a -L
opció (“kövesse a 3XX átirányításokat”), és az --cookie
fájlt is használja egy nem létező fájllal,
a későbbi kérésekben elküldi a korábbi válaszokban beállított sütiket anélkül, hogy azokat állandóan bárhol tárolná. Az IMHO nem létező fájl használata helyett a --cookie /dev/null
használata biztonságosabb lenne, és ugyanazt a hatást érné el.
A curl nem alapértelmezés szerint nem küld vissza semmilyen sütit, kivéve, ha a --cookie
vagy --cookie-jar
opciókat használtak. De sok webhely végtelen átirányításokba küld, ha nem fogadja el a cookie-kat; azonban előfordulhat, hogy nem kíván semmilyen állapotot tárolni a lemezen, és hagyja, hogy külön curl
meghívásokon kövessék Önt .
Példa hamis --cookie
fájllal:
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
És egy nélkül:
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
Figyelje meg, hogy a második meghívás figyelmen kívül hagyja-e a (z) set-cookie
válaszokkal beállított sütiket ahelyett, hogy visszaküldené őket kérésekben.
-L
olyan eset, amikorcurl
több kérést hajt végre egyetlen meghívásban; másik eset, amikor ' több URL-címmel használja acurl
t. 2. azáltal, hogy nem használ--cookie
opciót, ahogy a 2. példában tettem. " A cookie-k elfogadása " azt jelenti, hogy kérésekben visszaküldjük őket egyCookie:
fejlécben.