카테고리 보관물:

윈도우에서 URL 목록의 파일들을 일괄 다운로드하는 방법

HTML 페이지에 있는 여러 개의 URL에 있는 파일들을 내려받아야 할 일이 있어서 찾아봤더니 윈도우에서는 curl 명령어를 이용해 내려받을 수 있다.

가령 다음과 같이 다운로드할 파일에 대한 URL 목록이 있다면

http://example.com/a.zip
http://example.com/b.zip
http://example.com/c.zip
http://example.com/d.zip
http://example.com/e.zip
...

메모장 같은 텍스트 편집기에서 다음과 같이 수정한다. 서브라임 텍스트처럼 정규표현식을 지원하는 텍스트 편집기라면 정규표현식으로 간편하게 처리할 수 있다.

curl http://example.com/a.zip -O a.zip
curl http://example.com/b.zip -O b.zip
curl http://example.com/c.zip -O c.zip
curl http://example.com/d.zip -O d.zip
curl http://example.com/e.zip -O e.zip
...

보다시피 curl 명령어에 대상 URL과 파일명을 지정하는 -O 옵션에 파일명을 지정한다. 그런 다음 텍스트 전체를 복사하고, 명령 프롬프트에서 마우스 오른쪽 버튼을 누르면 전체 텍스트가 붙여넣어지면서 각 명령어가 차례로 실행되고, 현재 폴더에 지정한 파일명으로 다운로드된다.

MathJax 수식 모음

MathJax는 웹 페이지에서 수학 수식을 입력하고 표시할 때 사용하는 자바스크립트 라이브러리다.

아래 URL을 참고해서

다음과 같은 코드로 간단하게 웹 페이지에 통합할 수 있다.

<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML' async></script>

헌데 수식을 입력할 때 어떻게 입력해야 할지 일목요연하게 정리한 페이지가 없어서 찾아봤더니 백준 온라인에서 다음과 같은 페이지를 제공하고 있고, 간단한 수식은 대부분 이 페이지를 참고해서 작성할 수 있다.

SSL을 적용하고 나서 페이스북 댓글/좋아요가 사라졌을 때

워드프레스 기반 사이트에 SSL을 적용하고 나서 갑자기 페이스북 댓글/좋아요가 사라지는 현상이 발생했다. 원인을 찾기 위해 구글링한 결과, 댓글/좋아요 플러그인을 설치했을 때 적용된 사이트 URL에서 프로토콜이 http에서 https로 바뀌었기 때문. 아무것도 변경하지 않았는데도 이런 문제가 발생해서 처음에는 황당했는데, 결국 워드프레스 사이트에 SSL 적용을 도와주는 플러그인 때문에 발생하는 문제였다.

사람들이 자주 사용하는 Really Simple SSL의 경우에는 functions.php 파일에 다음과 같은 훅 메서드를 추가해서 간단하게 해결할 수 있다는데

function rsssl_exclude_http_url($html) {
  //replace the https url back to http
  $html = str_replace('href="https://domain.com', 'href="http://domain.com', $html);
  return $html;
}
add_filter("rsssl_fixer_output","rsssl_exclude_http_url");

내 경우에는 호스팅 서버에 설치된 PHP 버전 문제 때문에 Really Simple SSL을 사용하지 못하고 One Click SSL을 사용하는지라 결국 플러그인 코드에 손을 대서 급하게 문제를 해결하긴 했다. 즉, 위의 코드처럼 플러그인에서 최종적으로 만들어내는 웹 페이지 문자열에서 페이스북 댓글 플러그인에 해당하는 부분을 수정해서 반환하도록 처리했다.

$html = str_replace('data-href="https://www.domain.com', 'data-href="http://www.domain.com', $html);
return $html;

그나저나 이렇게 했을 때 매번 플러그인이 업데이트될 때마다 이 부분을 다시 수정해야 하는 문제가 남아 있는데, 이 부분은 좀 더 자료를 찾아서 해결책을 찾아야 할 듯.

실험해 본 결과, One Click SSL 플러그인의 경우 functions.php 파일에 다음과 같은 코드를 추가하면 된다.

function rsssl_exclude_http_url($str) {
    $str = str_replace('data-href="https://www.domain.com/', 'data-href="http://www.domain.com/', $str);
    return $str;
}
add_filter("ocssl_replace_output", "rsssl_exclude_http_url");