|
|
|
| здравствуйте!
Суть: пытаюсь сделать нечто на тему FTP-клиента, используя WinInet. вроде все нормально, соединяюсь с сервером
hConnection = InternetConnect(hInternet,"Адрес",INTERNET_DEFAULT_FTP_PORT,
"имя_юзера","пароль",INTERNET_SERVICE_FTP,0,0)
|
Соединение установлено (hConnection не NULL), а вот дальше проблемы...Хочу допустим, сменить текущую папку
FtpSetCurrentDirectory(hConnection,"docs")
|
Ничего не выходит, InternetGetLastResponseInfo() не помогает, подскажите, плиз, что не так! | |
|
|
|
|
|
|
|
для: Фитч
(12.04.2007 в 17:54)
| | 1) Попробуйте вместо относительно пути "docs" использовать абсолютный "/docs"
2) Как-нибудь можно получить ответ FTP-сервера на последнюю операцию? | |
|
|
|
|
|
|
|
для: cheops
(13.04.2007 в 14:00)
| | 1) Абсолютный путь пробовал, не работает
2) InternetGetLastResponseInfo() - это, вроде, получение комментария сервера.
Самое интересное, что через telnet все работает. Мне казалось, что я что-то напортачил со строками - они все были пустые, но ошибки не нашел. Вот код неработающего места, может бысть сможете сказать больше. Еще раз спасибо!
HINTERNET hConnection;
DWORD* pdwError;
LPSTR pszBuf = new char;
if(hConnection = InternetConnect(hInternet,"адрес",INTERNET_DEFAULT_FTP_PORT,
"логин","пароль",INTERNET_SERVICE_FTP,0,0))
{
std::cout << "Connected" << std::endl;
/* вот тут проблема */
if(FtpSetCurrentDirectory(hConnection,"gb"))
{
std::cout << "Directory changed" << std::endl;
if(FtpCreateDirectory(hConnection,"new"))
{
std::cout << "Directory created" << std::endl;
}
else
{
std::cout << "Error: failed to create directory!" << std::endl;
}
}
else
{
std::cout << "Error: failed to change directory!\n" << std::endl;
InternetGetLastResponseInfo(pdwError,pszBuf,(DWORD*)256);
std::cout << pszBuf << "\n" << std::endl;
}
}
|
| |
|
|
|