curl windows 에서 빌드하기
curl 은 FTP, HTTP, HTTPS, SSH, LDAP, TENET 등을 지원하는 command 기반의 툴이다. remote 에서 파일 송수신이나 기타 작업을 자동화에 촛점을 맞춰서 설계되었다.
curl 의 download 섹션에 Windows 용 binary 를 배포하는 곳이 링크되어 있긴 한데 직접 빌드해서 사용해 보고 싶은 이가 있을 수 있어서 Windows 에서 build 하는 절차를 정리해 본다.
필요 사항:
- Visual Studio (2010 express)
- OpenSSL (OpenSSL 빌드하기 참조)
- Zlib (필요시)
- libSSH(필요시)
- cmake - libSSH build 시 필요함
zlib build
libSSH build
- http://www.libssh.org/files/ 에서 다운로드(Ex. libssh-0.5.2.tar.gz)
- 압축 해제후 폴더로 이동(Ex. libssh-0.5.2)
설치
- cmd.exe 실행
- cmd에서 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat" 실행
- 압축해제
- cd winbuild
다음 명령 실행
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
- 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