Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ftp через http прокси / 2 сообщений из 2, страница 1 из 1
07.06.2006, 14:29
    #33777836
a_shar
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ftp через http прокси
народ помогите!!
надо коннектится к ftp через проксю
вот код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HINTERNET hInet= 0 ;
DWORD dwContext= 0 ;

hInet = InternetOpen(
  "",
  INTERNET_OPEN_TYPE_PROXY,
//  INTERNET_OPEN_TYPE_PRECONFIG,
//  "kocherin",
//  "433302",
  "ftp=ftp://proxy:8080 http=http://proxy:8080",
  "<local>",
   0 
);
  if (!hInet) {
	ShowMessage ("Fuck");
  }

hInet = InternetConnect(
  hInet,
  "ftp://ftp.microsoft.com/",
  INTERNET_DEFAULT_FTP_PORT,
  "anonymous",
  "aaa@mail.ru",
  INTERNET_SERVICE_FTP,
  INTERNET_FLAG_PASSIVE,
  dwContext);

  if (hInet) {
//	 MessageBox(Handle,"OK","",MB_OK);
	if (!DisplayFtpDir(
						   Handle,
						   hInet,
						   INTERNET_FLAG_HYPERLINK,
						   (int)list->Handle ))
		MessageBox(Handle,"Bad","",MB_OK);
  }
  else
  {
		MessageBox(Handle,"No connection","",MB_OK);
  }

}
в итоге вываливается мессага No connection. Подскажите может кто с етим сталкивался, что не верно? среда borland developer studio 2006
...
Рейтинг: 0 / 0
07.06.2006, 20:49
    #33779032
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ftp через http прокси
Во первых, не стоит использовать один и тот же хендля для InternetOpen и InternetConnect. Во вторых ошибки можно расшифровывать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
void ShowInternetError() {
	char InternetErrorMessage[ 1024 ];
	DWORD InternetError, InternetErrorMessageLength;
	DWORD SystemError;
	LPVOID lpMsgBuf;

	SystemError = GetLastError();
	if(SystemError == ERROR_INTERNET_EXTENDED_ERROR) {
		InternetErrorMessageLength = sizeof(InternetErrorMessage);
		InternetGetLastResponseInfo(&InternetError, InternetErrorMessage, &InternetErrorMessageLength);
		InternetErrorMessage[InternetErrorMessageLength]= 0 ;
		MessageBox(Handle, "internet error", InternetErrorMessage, MB_OK);
	} else {
		FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS |
				FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_FROM_HMODULE,
			GetModuleHandle("wininet"), ErrorCode,
			MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
			(LPTSTR) &lpMsgBuf,	 0 , NULL );

		MessageBox(Handle, "system error", lpMsgBuf, MB_OK);
		LocalFree( lpMsgBuf );
	}
	return FALSE;
}
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ftp через http прокси / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]