"존재하지 않는 파일에 대해 컬 --쿠키를 사용"하는 목적은 무엇입니까?

"존재하지 않는 파일에 대해 컬 --쿠키를 사용"하는 목적은 무엇입니까?

~에서https://curl.haxx.se/docs/httpscripting.html

--cookie 옵션을 사용하면 Curl의 "쿠키 엔진"이 활성화됩니다. 컬이 수신된 쿠키에 대해 알기를 원하는 경우, 존재하지 않는 파일에는 --cookie를 사용하세요. 예를 들어, 컬이 페이지의 쿠키에 대해 알고 특정 위치를 추적하도록 하려는 경우(따라서 잠재적으로 수신한 쿠키를 다시 보내려면) 다음과 같이 호출할 수 있습니다.

curl --cookie nada --location http://www.example.com

"존재하지 않는 파일에 --cookie 사용"의 목적은 무엇입니까?

"컬이 수신된 쿠키만 이해하도록 하려는 경우"란 무엇을 의미합니까?

감사해요.

답변1

-L옵션("3XX 리디렉션 따르기")을 사용하고 --cookie존재하지 않는 파일 도 사용하는 경우 curl이전 응답에 설정된 쿠키는 영구적으로 저장되지 않고 후속 요청 시 전송됩니다. IMHO, 존재하지 않는 파일을 사용하는 것보다 더 --cookie /dev/null안전하고 동일한 효과를 얻을 수 있습니다.

곱슬한 의지아니요--cookie또는 옵션을 사용 하지 않는 한 기본적으로 모든 쿠키를 다시 보냅니다 . 그러나 쿠키를 허용하지 않으면 많은 웹사이트에서 무한 리디렉션을 수행하게 됩니다. 그러나 디스크에 어떤 상태도 저장하고 --cookie-jar개별 호출을 통해 curl추적 하도록 하고 싶지는 않을 것입니다.

가짜 문서 --cookie의 예 :

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

없음:

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

set-cookie두 번째 호출에서는 요청에서 쿠키를 다시 보내는 대신 응답에 설정된 쿠키를 무시하는 방법에 유의하세요 .

관련 정보