:: Visual Foxpro, Foxpro for DOS
Загрузить файл с сайта по паролю
tmp_adr

Сообщений: 185
Дата регистрации: 29.10.2007
Здравствуйте, на сайте(вход на сайт по паролю) есть файл domen.ru
по этой ссылке forum.foxclub.ru есть два способа взять файл с сайта
Но URLDownloadToFile выдаёт ошибку, доступ запрещён, второй вариант isxdl.dll, постоянно появляется окно ввода логина и пароля
есть ли варианты, чтоб задать логин и пароль при вызове функции, чтоб не выходило окно авторизации?
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
Каратаев
Автор

Сообщений: 3974
Откуда: Алматы
Дата регистрации: 04.12.2001
tmp_adr
есть ли варианты, чтоб задать логин и пароль при вызове функции, чтоб не выходило окно авторизации?
В этих двух вариантах такой возможности нет. тут только рулить доступностью самих скачиваемых файлов.
Но в решениях форума есть ещё один вариант - работа с FTP... Поищите. Вот там как раз и можно (нужно) задавать логин и пароль для скачки или закачки файлов...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
Joys

Сообщений: 3509
Откуда: Старая Русса
Дата регистрации: 25.06.2000
попробуйте адрес указывать так
http://user:''.phorum_html_encode('pass@domen.ru').''/xxx.txt

Ну или искать другие инструменты/библиотеки, умеющие качать с авторизацией. например CURL


------------------




Исправлено 1 раз(а). Последнее : Joys, 29.09.22 14:58
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
tmp_adr

Сообщений: 185
Дата регистрации: 29.10.2007
Спасибо, попробовал через FTP
isxdl_AddFile('ftp://user:pswd@8.8.8.8/tmp/test.txt',"D:\tmp\test.txt")
Не сработало,
200 type set to I
227 Entering Passive mode
и т.д.
В общем открывает, но не переходит в пассив
хелпа isxdl на русском нет, может кто знает есть ли возможность у этой утилиты указать в каком режиме работать или есть другие консольные утилиты с возможностью задать режим?
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
PaulWist

Сообщений: 14601
Дата регистрации: 01.04.2004
tmp_adr
или есть другие консольные утилиты с возможностью задать режим?

Поиск по ftps.exe


------------------
Есть многое на свете, друг Горацио...
Что и не снилось нашим мудрецам.
(В.Шекспир Гамлет)
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
Joys

Сообщений: 3509
Откуда: Старая Русса
Дата регистрации: 25.06.2000
tmp_adr
есть другие консольные утилиты с возможностью задать режим?
я уже выше писал curl умеет все и авторизация по http и passive ftp


------------------
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
tmp_adr

Сообщений: 185
Дата регистрации: 29.10.2007
Спасибо, с курлой всё скачалось
! curl и т.д.
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
Каратаев
Автор

Сообщений: 3974
Откуда: Алматы
Дата регистрации: 04.12.2001
tmp_adr
Спасибо, попробовал через FTP
isxdl_AddFile('ftp://user:''.phorum_html_encode('pswd@8.8.8.8').''/tmp/test.txt',"D:\tmp\test.txt")
Не сработало
Это не то, что я советовал:
Каратаев
в решениях форума есть ещё один вариант - работа с FTP... Поищите.
Файл ftp.prg во вложении. А вот пример его использования:
*Решение реализовано для сервера, соответственно содержит процедуры без вывода =mess()
*Для закачки файлов с FTP используется проседура proc1
*Для закачки файлов на FTP используется проседура proc2
*Процедура =viv_mes(), используемая в файле ftp.prg отсутствует, можно заменить на =mess()
proc1()
*proc2()
**********
proc proc1
**********
set procedure to ftp.prg addi &&Подключаем процедуру
sz_ftp = createobject('ftp_service')
*g_pols_ok - имя пользователя для соединения
*g_pars_ok - пароль пользователя для соединения
*g_ftp_ok - имя FTP
g_pols_ok = "Логин"
g_pars_ok = "Пароль"
g_ftp_ok = "имя FTP" && Например: ftp.домен.ru
g_put_ok = "/"
xpu = "c:\modem\"
if sz_ftp.OpenInternet(g_pols_ok, g_pars_ok, g_ftp_ok, "21")=.F. &&Открываем соединение
*Процедура in_regsm в решении отсутствует! Можно заменить на =mess
=messagebox('Отсутствует сетевое соединение или указан неверный путь к обменному ресурсу ЦБД.')
=messagebox('Процедура приема файлов от ЦБД не завершена.')
rele sz_ftp
retu .F.
endif
LOCAL lcOutput, lcDirName,xsf,xkf
if len(g_put_ok)<>0
sz_ftp.ChangeFtpDirectory(g_put_ok) &&Открываем нужный каталог на FTP (если необходимо)
*g_put_ok - путь к каталогу на ftp
endif
if sz_ftp.GetFtpDirectoryArray("YA2301000D-color.png",@xsf,@xkf)=.F. &&запрашиваем список файлов
xkf=0
endif
*xkf - количество найденных на FTP файлов
*xsf - массив списка файлов (xsf[1,1], соответственно номер и имя файла 1)
* (xsf[2,1], соответственно номер и имя файла 2 и т.д.)
CREATE CURSOR cur_files (f_name C(100), f_size I, f_date T)
for i=1 to xkf
INSERT INTO cur_files (f_name, f_size, f_date) ;
VALUES (xsf[i,1], xsf[i,3], xsf[i,6])
sz_ftp.getFtpFile(xsf[i,1],xpu+xsf[i,1],.F.) && копируем файл в заданную папку
*=MESSAGEBOX(xsf[i,1]+ CHR(13) + TRANSFORM(xsf[i,3]) + CHR(13) + TRANSFORM(xsf[i,6]) + " закачан ")
*xpu - папка назначения
* sz_ftp.DeleteFtpFile(xsf[i,1]) - удаляем файл с FTP
endfor
BROWSE
USE IN SELECT('cur_files')
rele sz_ftp
**********
proc proc2
**********
sz_ftp = createobject('ftp_service')
*g_pols_ok - имя пользователя для соединения
*g_pars_ok - пароль пользователя для соединения
*g_ftp_ok - имя FTP
g_pols_ok = "Логин"
g_pars_ok = "Пароль"
g_ftp_ok = "имя FTP"
g_put_ok = "/"
xpu = "c:\modem\"
xsp_file = "YA2301000D-color.png"
if sz_ftp.OpenInternet(g_pols_ok, g_pars_ok, g_ftp_ok, "21")=.F.
=messagebox('Отсутствует сетевое соединение или указан неверный путь к обменному ресурсу ЦБД.')
=messagebox('Процедура приема файлов от ЦБД не завершена.')
rele sz_ftp
retu .F.
endif
if len(g_put_ok)<>0
sz_ftp.ChangeFtpDirectory(g_put_ok)
endif
xpkf=sz_ftp.putFtpFile(xsp_file,xpu+xsp_file)
*xsp_file - копируемый файл
*xpu - папка, из которой берется файл
rele sz_ftp
Всё прекрасно работает.


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
tmp_adr

Сообщений: 185
Дата регистрации: 29.10.2007
Каратаев
Это не то, что я советовал:
Спасибо, тоже вроде работает, выдаёт список файлов, сейчас ищу функцию в ftp.prg, чтоб скачать файл...
Ratings: 0 negative/0 positive
Re: Загрузить файл с сайта по паролю
Каратаев
Автор

Сообщений: 3974
Откуда: Алматы
Дата регистрации: 04.12.2001
tmp_adr
Спасибо, тоже вроде работает, выдаёт список файлов, сейчас ищу функцию в ftp.prg, чтоб скачать файл...
Да список это я себе для проверки выводил. А скачивание уже происходит, ничего искать не надо. Только в коде папку-приёмник прописать. Там у меня было xpu = "c:\modem\" Вот эту папку изменить под свою. И после запуска посмотреть в неё проводником - скачанный файл уже там.
И вот в этой строке:
if sz_ftp.GetFtpDirectoryArray("YA2301000D-color.png",@xsf,@xkf)=.F. &&запрашиваем список файлов
свой конкретный файл надо прописать или файлы по маске. Вообще - это черновой код, конечно-же надо его до ума довести. Например нужный файл (файлы) прописывать через переменную, а не явно и т.д.


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.




Исправлено 1 раз(а). Последнее : Каратаев, 30.09.22 15:01
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 30 dimag  (Гостей: 29)

© 2000-2024 Fox Club 
Яндекс.Метрика