답변:
-D, --dump-header <file>
Write the protocol headers to the specified file.
This option is handy to use when you want to store the headers
that a HTTP site sends to you. Cookies from the headers could
then be read in a second curl invocation by using the -b,
--cookie option! The -c, --cookie-jar option is however a better
way to store cookies.
과
-S, --show-error
When used with -s, --silent, it makes curl show an error message if it fails.
과
-L/--location
(HTTP/HTTPS) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response
code), this option will make curl redo the request on the new place. If used together with -i/--include or -I/--head, headers from all requested
pages will be shown. When authentication is used, curl only sends its credentials to the initial host. If a redirect takes curl to a different
host, it won’t be able to intercept the user+password. See also --location-trusted on how to change this. You can limit the amount of redirects to
follow by using the --max-redirs option.
When curl follows a redirect and the request is not a plain GET (for example POST or PUT), it will do the following request with a GET if the HTTP
response was 301, 302, or 303. If the response code was any other 3xx code, curl will re-send the following request using the same unmodified
method.
맨 페이지에서. 그래서
curl -sSL -D - www.acooke.org -o /dev/null
리디렉션을 따르고 헤더를 stdout에 덤프하고 데이터를 / dev / null로 보냅니다 (POST가 아닌 GET이지만 POST를 사용하여 동일한 작업을 수행 할 수 있음-POST 데이터에 이미 사용중인 옵션 만 추가)
주의 -
후 -D
출력 "파일이"표준 출력임을 나타냅니다.
-D
는 출력이 어디로 가야하는지에 대한 인수를 취합니다. 단일 대시는 stdout으로 이동해야 함을 의미합니다.
다른 답변에는 응답 본문을 다운로드해야합니다. 그러나 헤더 만 가져 오는 POST 요청을 만드는 방법이 있습니다.
curl -s -I -X POST http://www.google.com
-I
자체에 의해 대체 될 수있는 HEAD 요청 수행 -X POST
후 (또는 다른) 요청을 수행하고, 여전히 상기 헤더 데이터를 얻을 수있다.
GET
요청을 보내고 전체 응답 본문을 다운로드하지 않습니다 (또는 적어도 출력하지 않습니다). -s
플래그도 필요하다.
GET
와 함께 POST
위의 명령과 예상대로 작동합니다. or any other
핵심입니다.
POST
일부 데이터를 원할 때는 작동하지 않습니다 . 컬 말한다 :Warning: You can only select one HTTP request method! You asked for both POST Warning: (-d, --data) and HEAD (-I, --head).
-X HEAD
신뢰할 수있는 솔루션이 아니라는 것입니다.
다음 명령은 추가 정보를 표시합니다
curl -X POST http://httpbin.org/post -v > /dev/null
전체 응답 대신 HEAD 만 보내도록 서버에 요청할 수 있습니다.
curl -X HEAD -I http://httpbin.org/
Note:
경우에 따라 서버는 게시 및 HEAD에 대해 다른 헤더를 보낼 수 있습니다. 그러나 거의 모든 경우 헤더는 동일합니다.
-X HEAD
와 -I
정확히 동일합니다.
-X HEAD
는 서버가 이제 (또는 이전 요청이던 무엇이든) HEAD
요청을 받기 때문에 다르게 응답 할 수 있다는 것입니다.GET
Warning: Setting custom HTTP method to HEAD with -X/--request may not work the Warning: way you want. Consider using -I/--head instead.
어쩌면 그것은 약간의 극단적이지만, 나는이 슈퍼 짧은 버전을 사용하고 있습니다 :
curl -svo. <URL>
설명:
-v
디버그 정보 인쇄 (헤더 포함)
-o.
웹 페이지 데이터 (무시하고자하는)를 특정 파일 ( .
이 경우 디렉토리이며 유효하지 않은 대상이며 출력을 무시하도록 함)로 보냅니다.
-s
진행률 표시 줄 없음, 오류 정보 없음 (그렇지 않으면 Warning: Failed to create the file .: Is a directory
)
경고 : 결과는 항상 실패합니다 (연결 가능 여부에 관계없이 오류 코드 측면에서). 쉘 스크립팅에서 조건문에 사용하지 마십시오.
-o.
대신에 사용 -o /dev/null
합니까?
-o.
은 -o /dev/null
간결함을 위해 사용 되었습니다
curl -svo. <url> && echo foo
인쇄되지 않습니다 : . foo
-o.
curl
curl: (23) Failed writing body
Shortlink 추적 을 피하기 위해 사용하는 것이 훨씬 쉽습니다 . 다음과 같습니다.
curl -IL http://bit.ly/in-the-shadows
… 또한 링크를 따릅니다 .
다른 답변은 모든 상황에서 나에게 도움이되지는 않지만 여기서 찾을 수있는 최선의 해결책 POST
은 다음과 같습니다.
curl -vs 'https://some-site.com' 1> /dev/null
headcurl.cmd (Windows 버전)
curl -sSkv -o NUL %* 2>&1
-s
.-S
.-k
,-v
(문제 해결에 관한 것입니까?)%*
는 [이 스크립트에 모든 매개 변수를 전달] (well ( https://stackoverflow.com/a/980372/444255 )을 의미합니다. 일반적으로 테스트하는 URL 중 하나입니다.실제 예 (프록시 문제 해결에 대한) :
C:\depot>headcurl google.ch | grep -i -e http -e cache
Hostname was NOT found in DNS cache
GET HTTP://google.ch/ HTTP/1.1
HTTP/1.1 301 Moved Permanently
Location: http://www.google.ch/
Cache-Control: public, max-age=2592000
X-Cache: HIT from company.somewhere.ch
X-Cache-Lookup: HIT from company.somewhere.ch:1234
리눅스 버전
당신의 .bash_aliases
/ .bash_rc
:
alias headcurl='curl -sSkv -o /dev/null $@ 2>&1'
-X POST
일 경우 통과 매개 변수에 추가 하고, GET을 원할 경우 응답이 다를 수 있으므로 GET (예 : 기본값)을 사용하십시오. -프로덕션 스크립트에서 과도한 컬링을하지 않는 한 (진단 및 개발 용이 아님) 나는 약간의 대역폭에 관심이 없습니다.
curl -s -D - http://yahoo.com -o nul