2013-08-08 5 views
3

Curl (실제로 libcurl)을 사용하여 Gmail 계정의 보낸 편지함 디렉토리에있는 이메일을 나열하려고합니다.Curl IMAP Gmail

받은 편지함 디렉토리는 정상적으로 작동하지만 URL에 대괄호가 허용되지 않기 때문에 [Gmail] 아래의 디렉토리는 작동하지 않습니다. 나는 어떤 성공도없이 -g 플래그를 시도했다.

.\curl.exe "imaps://imap.gmail.com:993/[Gmail]/Sent Mail" --cacert ".\cacert.pem" -u user:pass 

수익률 :

curl: (3) URL using bad/illegal format or missing URL

.\curl.exe "imaps://imap.gmail.com:993/[Gmail]/Sent Mail" --cacert ".\cacert.pem" -u user:pass -g 

수익률 :

curl: (3) [globbing] error: bad range specification after pos 29

사람이 볼 수는 어떻게 잘못된거야?

+1

[및] 인코딩 비율을 시도해 보셨습니까? – Max

+0

예 ... ". \ curl.exe"imaps : //imap.gmail.com : 993/% 5BGmail % 5D/Sent Mail "--cacert". \ cacert.pem "-u user : password"결과는 다음과 같습니다. "curl : (3) 잘못된/잘못된 형식 또는 누락 된 URL을 사용하는 URL". – Alex

+0

이것은 실제로 내가 가진 가장 성공한 것 같습니다 ... 상세한 플래그 출력을보고 있습니다. Curl이 적어도 폴더>> A003리스트 ""[Gmail]/보낸 메일 ""* Alex

답변

0

이 질문에 대한 의견으로 제공했지만 지금 올바르게 작동하도록 추가적으로 사용자 지정 IMAP 요청에 -X 플래그를 제공하여 공간을 인코딩하는 백분율을 얻었습니다. 내가 찾고 있던 이메일.

+0

추가 문제가 있습니다. 내 맞춤 IMAP 요청이 CURL에서 지원되지 않았으므로 직접 코드베이스에 추가해야했습니다. – Alex

3

Switch off globbing URL에 []을 사용하려는 경우

+0

-g를 사용할 때'curl : (3) URL 형식이 잘못되었거나 잘못된 형식이거나 URL이 누락되었습니다. '가 표시됩니다. 그러나 폴더를 지정하지 않으면 제대로 작동합니다 ("imaps : //imap.gmail.com : 993 /"). 그래서 이것은 URL의 폴더 선택 (/ [Gmail]/보낸 편지함) 부분과 관련이 있다고 가정합니다./[Gmail]/보낸 메일 % 20 메일,/\ [Gmail] \/보낸 메일 % 20 메일,/[Gmail]/보낸 메일,/\ [Gmail \]/Sent','/ Sent' -g 플래그를 사용하면 모두 같은 잘못된 URL 메시지가 나타납니다. – Alex