1
我试图使用Curl从FTP服务器下载文件。我可以将网址粘贴到我的浏览器中,并且可以正常下载。问题是,在Curl和PHP中,我相信FTP服务器正在做重定向,Curl不会遵循。我收到错误消息“服务器拒绝您更改为给定的目录”。使用Curl和PHP从FTP下载文件使用PHP
编辑:我在代码中%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服务器可以做重定向,这通常是HTTP协议的功能,而不是FTP协议。 – hakre
我不认为FTP协议有HTTP重定向响应。这可能不是你的问题。尝试使用wireshark窃听ftp连接以查看到底发生了什么。 –
路径中的'/%2fidx_fl_ftp_down /'部分是否有效?不应该只是'/ idx_fl_ftp_down /'? '%2f'是'/'的url编码。我认为它可能试图变成无效/不存在的目录。 – drew010