1
Curl을 사용하여 FTP 서버에서 파일을 다운로드하려고합니다. 내 브라우저에 URL을 붙여 넣을 수 있으며 정상적으로 다운로드됩니다. 문제는 Curl과 PHP에서 FTP 서버가 리다이렉트를하고 Curl이 따르지 않는다고 생각합니다. "서버가 지정한 디렉토리로 변경을 거부했습니다"라는 오류 메시지가 나타납니다.PHP에서 Curl을 사용하여 FTP에서 파일 다운로드
편집 : 코드에서 % 2f를 (를) 삭제했습니다. 그것은 이전 테스트에서 나온 것입니다.
내 코드는 다음과 같습니다
$curl = curl_init();
$file = fopen("temp.zip", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp://idx.living.net/idx_fl_ftp_down/idx_naples_dn/naples_data.zip");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FILE, $file);
curl_setopt($curl, CURLOPT_FTPSSLAUTH, CURLFTPAUTH_SSL);
curl_setopt($curl, CURLOPT_USERPWD, "myusername:mypassword");
curl_exec($curl);
echo curl_error($curl);
어떤 방법은 파일을 다운로드 할 때 브라우저가하는 방식으로 작동하는 컬을 강제로?
FTP 서버가 리디렉션을 할 수 있다는 말을 들어 본 적이 없으며, 일반적으로 FTP 프로토콜이 아닌 HTTP 프로토콜의 기능입니다. – hakre
FTP 프로토콜에 HTTP와 같은 리디렉션 응답이 없다고 생각합니다. 이것은 아마 당신의 문제가 아닙니다. wireshark를 사용하여 ftp 연결을 도청하여 정확히 무슨 일이 일어나는지보십시오. –
경로의'/ % 2fidx_fl_ftp_down /'부분이 유효합니까? '/ idx_fl_ftp_down /'일까요? '% 2f'는'/'의 url 인코딩입니다. 나는 그것이 무효/존재하지 않는 디렉토리로 변경하려고 시도하고있을 것이라고 생각한다. – drew010