С нами с 17.07.04
Сообщения: 677
Рейтинг: 590
|
Добавлено: 24/09/07 в 02:12 |
подскажите плиз релаьно ли организовать закачку на фтп через прокси используя curl?
как я понимаю можно вставить просто
curl_setopt ($ch, CURLOPT_PROXY, "прокси");
curl_setopt ($ch, CURLOPT_PROXYUSERPWD, "логин:пасс");
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
так вот если указать неправильный логин и пасс файл всё равно закачается, что наводит на мысли о том что скрипт качает не через прокси а напрямую
|
|
|
|
С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362
|
Добавлено: 24/09/07 в 10:07 |
Надеюсь через socks-прокси пробуешь?
|
|
|
|
С нами с 17.07.04
Сообщения: 677
Рейтинг: 590
|
Добавлено: 24/09/07 в 13:16 |
а как проверить?
кстати total commander качает на фтп через эту прокси
|
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 24/09/07 в 14:30 |
Ну вообще надо специальную ftp-прокси Не знаю, можно ли установить постоянный коннект с ftp, но выкачать с ftp через прокси курл вроде бы может.
|
|
|
|
С нами с 17.07.04
Сообщения: 677
Рейтинг: 590
|
Добавлено: 01/10/07 в 23:30 |
ладно, фиг с ним, с курлем :-)
такой ещё вопрос, быть может кто знает
нашел такой код в мануале по закачке на фтп через прокси
Цитата: | connection to a ftp server across proxy
$ftp_server = "proxy"; f.e. 123.456.789.10
$ftp_user_name = "username@ftpserver"; f.e. exampleuk@www.example.uk
$ftp_user_pass = "password";
$conn_id = ftp_connect($ftp_server, 2121);
$login_result = ftp_login( $conn_id, $ftp_user_name, $ftp_user_pass ); |
но вот не нашел как авторизоваться на прокси имено в этом случае если она требует имя и пасс
знает кто нибудь как?
|
|
|
|
С нами с 03.05.07
Сообщения: 801
Рейтинг: 825
|
Добавлено: 02/10/07 в 01:57 |
Начиная с php5 только лишь. Вот нашёл код:
Код: |
function ftp_parse_response($response, &$errstr) {
if(!is_array($response)) {
$errstr = 'Parameter \$response must be an array';
return false;
}
foreach($response as $r) {
$code = substr(trim($r),0,3);
if(!is_numeric($code)) {
$errstr = "$code is not a valid FTP code",$code);
}
if($code > 400) {
$errstr = $r;
return false;
}
}
return true;
}
$user = "user";
$pass = "password";
$host = "ftp.example.com";
$proxyuser = "proxyuser";
$proxypass = "proxypass";
$proxyhost = "ftp.proxy.com";
$conn_id = ftp_connect($proxyhost);
if(!$conn_id) {
die("cannot connect to proxy");
}
$commands = array(
"USER ".$user."@".$host." ".$proxyuser,
"PASS ".$pass,
"PASS ".$proxypass
);
foreach($commands as $c) {
$ret = ftp_raw($conn_id,$c);
//you can write your own ftp_parse_response func that
//use an array of string as input
if(!ftp_parse_response($ret,$errstr)) {
ftp_close($conn_id);
die("cannot login to $host");
}
}
echo "ok, now connected";
|
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |