「Win32/64ネットワーク開発 003 wininetを使ったftp通信」の版間の差分
(→概要) |
編集の要約なし |
||
7行目: | 7行目: | ||
== '''概要''' == | == '''概要''' == | ||
wininet.Libやwininet.hのインクルードについては[[Win32/64ネットワーク開発 002 wininetを使ったhttp通信|前の記事]]の通り、同じように設定する必要があります。 | wininet.Libやwininet.hのインクルードについては[[Win32/64ネットワーク開発 002 wininetを使ったhttp通信|前の記事]]の通り、同じように設定する必要があります。 | ||
まずは、ホスト名やユーザID、パスワード、接続時に最初に表示するディレクトリ名を聞いてくるようなインタフェースを持たない固定値での接続を試してみましょう。接続して、FTPでカレントディレクトリを設定してカレントディレクトリが今何かを返してくれるとこまでのプログラムを書いてみます。以下のとおりです。 | |||
<syntaxhighlight lang="cpp" line start=1> | |||
INETHANDLE g_INETHANDLEinet.hInternet = InternetOpen(L"yo-net.jp ftp", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0); | |||
INETHANDLE* pINETHANDLEinet->hHost = InternetConnect( | |||
g_INETHANDLEinet.hInternet, | |||
L"ftp.xxxx.com", INTERNET_DEFAULT_FTP_PORT, | |||
L"ftp_user_name", L"ftp_user_password", | |||
INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0); | |||
FtpSetCurrentDirectory(g_INETHANDLEinet.hHost, L"/"); | |||
DWORD DWORDsize = 0; | |||
FtpGetCurrentDirectory(g_INETHANDLEinet.hHost, NULL, &DWORDsize); | |||
wchar_t* pwchCurrentDir = new wchar_t[DWORDsize/sizeof(wchar_t)]; | |||
FtpGetCurrentDirectory(g_INETHANDLEinet.hHost, pwchCurrentDir, &DWORDsize); | |||
</syntaxhighlight> | |||
上記のプログラムにより、pwchCurrentDirにFTP接続したときの現在のディレクトリを取得できます。 | |||
2023年11月9日 (木) 00:02時点における版
前の記事:Win32/64ネットワーク開発 002 wininetを使ったhttp通信
次の記事:[[Win32/64ネットワーク開発 004]]
概要
wininet.Libやwininet.hのインクルードについては前の記事の通り、同じように設定する必要があります。
まずは、ホスト名やユーザID、パスワード、接続時に最初に表示するディレクトリ名を聞いてくるようなインタフェースを持たない固定値での接続を試してみましょう。接続して、FTPでカレントディレクトリを設定してカレントディレクトリが今何かを返してくれるとこまでのプログラムを書いてみます。以下のとおりです。
INETHANDLE g_INETHANDLEinet.hInternet = InternetOpen(L"yo-net.jp ftp", INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
INETHANDLE* pINETHANDLEinet->hHost = InternetConnect(
g_INETHANDLEinet.hInternet,
L"ftp.xxxx.com", INTERNET_DEFAULT_FTP_PORT,
L"ftp_user_name", L"ftp_user_password",
INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);
FtpSetCurrentDirectory(g_INETHANDLEinet.hHost, L"/");
DWORD DWORDsize = 0;
FtpGetCurrentDirectory(g_INETHANDLEinet.hHost, NULL, &DWORDsize);
wchar_t* pwchCurrentDir = new wchar_t[DWORDsize/sizeof(wchar_t)];
FtpGetCurrentDirectory(g_INETHANDLEinet.hHost, pwchCurrentDir, &DWORDsize);
上記のプログラムにより、pwchCurrentDirにFTP接続したときの現在のディレクトリを取得できます。
前の記事:Win32/64ネットワーク開発 002 wininetを使ったhttp通信
次の記事:[[Win32/64ネットワーク開発 004]]