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