2011-10-24 3 views
0

libcURL을 사용하여 FTP 서버의 디렉토리 목록을 가져옵니다. 문제는 FTP의 LIST 명령 출력이 잘 정의되어 있지 않으며 서버마다 다릅니다.FTP LIST 명령의 출력을 구문 분석 할 라이브러리가 있습니까?

일반적인 형식을 구문 분석하는 무료 라이브러리가 있습니까? Mac OS X에서 작동해야합니다.

+0

http://stackoverflow.com/questions/1244095/c-ftp-library http://stackoverflow.com/questions/259166/good-free-ftp-client-library-for-windows-c-commercial- apps http://cr.yp.to/ftpparse.html ... Google에서 30 초가 걸렸습니다. 그 중 어떤 것을 들여다 보았습니까? – derobert

+0

@derobert 인터넷 검색을 시도했지만 찾을 수 없습니다. ftpparse를 살펴 보겠습니다. –

+1

나는 goppled :'ftp LIST library'는 ftpparse를 찾는다. – derobert

답변

1

많은 서버는 요즘 매우 문제를 해결할 수있는 명확한 응답이있는 MLSDMLST 명령 (RFC 3659 섹션 7 참조)을 지원합니다. 이전의 LIST 명령으로 되돌아 가기 전에 그것들을 사용해야합니다.

아직 온라인으로 많이 사용중인 LIST 형식이 많이 있습니다. 특정 프로젝트에 대한 해결책은 아니지만 Indy은 라이브러리에 수십 개의 파서를 구현하므로 매우 쉽게 LIST을 지원하는 간단한 작업이 아닙니다.

0

앞서 언급했듯이 MLSD FTP 명령을 사용하여 형식 목록 출력 (RFC 3659 섹션 7)을 얻을 수 있습니다. 이렇게하려면 curl_ 년대에 다음 호출을 추가 :

curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST , "MLSD"); 

출력은 그 같은 될 것입니다 :

type=file;modify=20130319142533;size=8; EXAMPLE.txt 

쉽게 구문 분석 할 수 key=value;쌍가 볼 수 있듯이.

관련 문제