curl windows 에서 빌드하기

curl 은 FTP, HTTP, HTTPS, SSH, LDAP, TENET 등을 지원하는 command 기반의 툴이다. remote 에서 파일 송수신이나 기타 작업을 자동화에 촛점을 맞춰서 설계되었다.

curl 의 download 섹션에 Windows 용 binary 를 배포하는 곳이 링크되어 있긴 한데 직접 빌드해서 사용해 보고 싶은 이가 있을 수 있어서 Windows 에서 build 하는 절차를 정리해 본다. 

필요 사항:

 

zlib build

zlib windows 에서 빌드하기 참조

libSSH build

  1. http://www.libssh.org/files/ 에서 다운로드(Ex. libssh-0.5.2.tar.gz)
  2. 압축 해제후 폴더로 이동(Ex. libssh-0.5.2)

설치

  1. cmd.exe 실행
  2. cmd에서 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" 실행
  3. 압축해제
  4. cd winbuild
  5. 다음 명령 실행

    ssl 지원 빌드
    nmake -f Makefile.vc mode=dll VC=10 WITH_SSL=dll WITH_DEVEL=d:\devel\openssl\openssl-1.0.0d_vc2010 ENABLE_SSPI=no ENABLE_IPV6=no ENABLE_IDN=no
  6. github 에서 clone 하면 include/curl/curlbuild.h와 src/hugehelp.c 가 없다고 컴파일이 안 될 것이다. zip 으로 된 배포본을 다운받아서 빌드하자.

 

Todo

Content-Disposition header에 filename 이 encode 되어 있는 경우 encoding 된 파일명을 지원하지 않음(src/Tool_cb_hdr.c:91)

Content-Disposition: attachment; filename="SCORE PKI For Java ???-v37-20121128_1049.pdf"; filename*=UTF-8''%53%43%4f%52%45%20%50%4b%49%20%46%6f%72%20%4a%61%76%61%20%eb%a7%a4%eb%89%b4%ec%96%bc%2d%76%33%37%2d%32%30%31%32%31%31%32%38%5f%31%30%34%39.pdf