Curl 출력에 요청 URL 저장

Curl 출력에 요청 URL 저장

다음 명령은 URL로 가득 찬 파일을 생성하고 이를 gnu 병렬에 입력합니다. curresponse.txt의 출력에도 원래 요청 URL이 포함되기를 원합니다. 어떻게 하나요?

cat urls.txt  | parallel -j 5  curl -IL -k {} > curlresponse.txt

따라서 모든 리디렉션 후의 최종 출력 예는 다음과 같습니다.

OriginalUrl
HTTP/1.1 200
Server: nginx
Date: Mon, 18 Mar 2019 07:35:11 GMT
Content-Type: text/html
Content-Length: 188
Connection: keep-alive

때로는 URL이 리디렉션될 수 있으므로 최종 http 응답은 원래 요청 URL이 포함된 응답이어야 합니다.

답변1

엄밀히 말하자면:

cat urls.txt  |
  parallel -j 5 echo {}';'curl -IL -k {} '|' perl -ne '/^HTTP.* 200/ .. 0 and print' > curlresponse.txt

--tag그러나 이와 같은 경우에는 일반적으로 각 줄 앞에 입력을 추가하는 것을 선호합니다 .

cat urls.txt  |
  parallel -j 5 --tag curl -IL -k {} '|' perl -ne '/^HTTP.* 200/ .. 0 and print' > curlresponse.txt

일반적으로 추가 처리가 더 쉬워집니다.

관련 정보