Mikä on tarkoitus “ käyttää curl –cookie-tiedostoa tiedoston kanssa, jota ' ei ole ”?
On helmikuu 13, 2021 by adminLähettäjä https://curl.haxx.se/docs/httpscripting.html
Curl ”evästemoottori” otetaan käyttöön, kun käytät –cookie -vaihtoehtoa. Jos haluat vain käpristää ymmärtääksesi vastaanotetut evästeet , käytä –cookie tiedostossa, jota ei ole olemassa. Esimerkki: jos haluat antaa käpristyksen ymmärtää evästeitä sivulta ja seurata sijaintia (ja siten mahdollisesti lähettää saamasi evästeet), voit käyttää sitä seuraavasti:
curl --cookie nada --location http://www.example.com
Mikä on ”use –cookien” tarkoitus tiedostolla, jota ei ole olemassa?
Mitä ”jos haluat vain kiharaa” ymmärtää vastaanotetut evästeet ”tarkoittaa?
Kiitos.
Vastaa
Kun käytät -L
-vaihtoehto (”seuraa 3XX-uudelleenohjauksia”) ja myös --cookie
-ominaisuuden käyttäminen sellaisen tiedoston kanssa, jota ei ole olemassa,
lähettää myöhemmissä pyynnöissä edellisissä vastauksissa asetetut evästeet tallentamatta niitä pysyvästi mihinkään. IMHO sen sijaan, että käyttäisi tiedostoa --cookie /dev/null
, olisi turvallisempaa ja saisi saman vaikutuksen.
Käpristyminen ei lähetä oletusarvoisesti evästeitä, ellei --cookie
tai --cookie-jar
-vaihtoehtoja käytettiin. Mutta monet sivustot lähettävät sinut loputtomiin uudelleenohjauksiin, jos et hyväksy heidän evästeitään. Et kuitenkaan halua tallentaa mitään tilaa levylle ja antaa heidän seurata sinua erillisten curl
-kutsujen kautta .
Esimerkki väärällä --cookie
-tiedostolla:
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
Ja ilman yhtä:
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
Huomaa, kuinka toinen kutsu jättää huomioimatta vastauksissa set-cookie
asetetut evästeet sen sijaan, että lähettäisit ne takaisin pyyntöihin.
-L
on tapaus, jossacurl
tekee useita pyyntöjä yhdellä kutsulla; toinen tapaus on, jossa ' käytätcurl
useita URL-osoitteita. 2. olemalla käyttämättä mitään--cookie
-vaihtoehtoa, kuten tein toisessa esimerkissä. " Evästeiden hyväksyminen " tarkoittaa niiden lähettämistä takaisin pyynnöissäCookie:
-otsikossa.