- 締切済み
VB.NETでサーバーからFILEを取得する
サーバー上にあるテキストファイルを FTPで取得したいのですが VBであればInetを使用して↓のように取得が可能 だったのですがVB.NETでのInetの使用方法がわかりません どなたかご存知の方がいらしたらご教授願えますか? また、別の方法がありましたらアドバイスをお願いします。 宜しくお願いいたします。 ==================== Dim FileName As String Inet.URL = "ftp://hostname/home/temp/" Inet.UserName = "username" Inet.Password = "password" Inet.Execute(, "GET test.txt " & FileName) Do While Inet.StillExecuting = True DoEvents() Loop MsgBox("ダウンロード終了") ====================
- riu-riu
- お礼率62% (5/8)
- Visual Basic
- 回答数1
- ありがとう数7
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- rara_sun
- ベストアンサー率50% (271/539)
VBとかプログラミングとか全く知識がないのですが、 興味があったので、調べてみました。 所要時間5分・・・。ってことは、 回答がてんで検討はずれなものになるかも しれません、そのときはご容赦を・・・ System.Net にWebRequestクラスっていうのが あるらしいです。なんじゃらほい?って感じなのですが、 きっと、riu-riuさんならバッチリわかるかと思います。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemnet.asp FTPも処理できるって書いてあるので、 まちがいないような・・きがいてるのですが・・ http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemnetwebrequestclasstopic.asp これって、サンプルですかね? http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpqstart/html/cpsmpnetsamples-howtonetworking.asp
関連するQ&A
- VB6.0でFTP接続するとき、UserNameに@が含まれる場合(訂正版)
VB6.0で、下のようなプログラムを組んでいるのですが、 UserNameに"@"が含まれる場合、 Execute時にはInet1に'@'が2つ入る事になり、 FTP接続ができません。 このような場合、どのように対処すれば良いのでしょうか? Private Sub FtpUpload() With Inet1 .URL = "ftp://" & strFtpAddress & "/" ' URL .UserName = strUserId ' ユーザー名 .Password = strPass ' パスワード ' サーバーにファイルを送信 .Execute , "PUT " & _ strUploadFileName & " " & _ "wwwroot/" & strUploadFileName Do While .StillExecuting = True DoEvents Loop End With End Sub ※半角スペースは、全角スペースに置換しています。
- 締切済み
- Visual Basic
- INETでFTPサイトのファイル検索
下記コードを実行すると「public_html」がメッセージ表示されます。 やりたい事として「public_html/cgi-bin/wk/」の中にファイルあるか検索したいのです。 .Execute , "dir" 上記を"cd public_html/cgi-bin/wk/"としてもメッセージは何も表示されませんでした。 どうすればファイルがあるか取得できるようになりますか? PC環境はWindowsXP SP2、VB6.0SP6です。 With Inet .URL = "ftp://**/" .RequestTimeout = 2 .UserName = "***" .Password = "***" .Protocol = icFTP ' 接続方法を指定 .Execute , "dir" Do While .StillExecuting DoEvents ' 前の処理が終わるまで待機 Loop MsgBox .GetChunk(1024) End With 宜しくお願い致します。
- 締切済み
- Visual Basic
- アップロードができない
ローカルHDDにあるファイルをネット上にアップロードしたいため下記コードを作成したのですがコピーする事ができませんでした。 PC環境:WindowsXP ProSP1、VB6.0SP6です。 どうすればアップーロードできるのでしょうか? どなたか御願い致します。 ///////////////////////////////////////////////////// Private InetState As Boolean Private InetError As String Private Sub Command1_Click() Inet.RequestTimeout = 2 Inet.UserName = "*" Inet.Password = "***" Inet.Execute "*", "PUT c:\11.txt 11.txt" Do DoEvents Loop Until InetState If InetError <> "" Then MsgBox InetError InetState = False Inet.Execute "*", "CLOSE" Do DoEvents Loop Until InetState InetState = False Inet.Execute "*", "QUIT" Do DoEvents Loop Until InetState Inet.Cancel Unload Me End Sub ///////////////////////////////////////////////
- ベストアンサー
- Visual Basic
- wget でのファイル取得
FTPサーバから、ファイルを取ってこなければならなくなったのですが、サーバ上のファイル名に「日本語」がついています。 Windows の FFFTP では、普通に日本語のファイル名が表示されています。サーバはWindowsのようです。 [xxxxx@xxxxxx Aug]$ ftp ftp.foo.co.jp Connected to ftp.foo.co.jp. 220 Microsoft FTP Service <SNIP!> Name (ftp.foo.co.jp:username): username 331 Password required for username. Password: 230 User username logged in. Remote system type is Windows_NT. ftp> というような表示です。 で、ダウンロードするファイルが多い(10GBのオーダー)なので、wgetで一気に取得しようとしたのですが、うまく取得できません。 ダウンロードするホストのOSはCentOSで日本語が表示されている(LANG=ja_JP.UTF-8)状態です。 ここで wget --no-passive-ftp -nH -np -r ftp://username:password@ftp.foo.co.jp/ と実行すると、index.htmlが生成され、ファイルはダウンロードされません。ファイルはそのまま見ると文字化けするのですが、lvでUTF8に変換するとディレクトリ名などが正常に確認できます。 なぜ、ファイルがダウンロードされないのでしょうか?
- ベストアンサー
- その他(インターネット・Webサービス)
- FTP接続での不具合
以下のコードでFTPへの接続を行っていますが、わからないところがあります。 (1)「リモートホストに接続できません」とエラーが出てしまいます。 どのあたりが怪しいのかわからず困っています。 (2)GET の書き方について "GET test.txt C:\Test\test.txt" ******** 受信するファイル名の指定の仕方ですが、上記の*******印部分ですが、 たとえばURLがpc000のTempフォルダの下にあるtest.txtを受信したい場合はディレクトリの指定の書き方がわかりません。 "GET /Temp/test.txt C:\Test\test.txt" と書いたりもしていますが、はたしてこの書き方があっているのかわかりません。 ご教示ねがえませんでしょうか? よろしくお願いいたします。 'FTP接続------------------------------------- Inet1.URL = "FTP://pc000" Inet1.Password = "xxx" Inet1.UserName = "yyy" Text1.Text = Inet1.OpenURL Inet1.Execute Inet1.URL, _ "GET test.txt C:\Test\test.txt" '-------------------------------------
- ベストアンサー
- Visual Basic
- VB2005 Do Loopについて
VB2005 でDo Loopを使用していますが、このDo Loop内の処理をしている時にイベント(例えばボタンをクリック)が発生した場合、その処理をしたいのですがどうすれば良いでしょうか? VB6の時は、DoEventsを使用していましたが、VB2005でも使用できるのでしょうか? ご存知の方がいらっしゃいましたら、教えて頂きたいのですが。 よろしくお願いします。
- 締切済み
- Visual Basic
- FTPサーバからダウンロードするには?
windowsXP,VB6,SP5で開発しています。 下のコードはヘルプからなんですが、 これをURLとファイル名を変更してやってみても、全然できません。 Private Sub Form_DblClick() Inet1.AccessType = icUseDefault Dim b() As Byte Dim strURL As String ' この URL は有効な URL であると仮定します。 strURL = "ftp://ftp.microsoft.com/" & _ "developr/drg/Win32/Autorun.zip" ' ファイルをバイト配列として取得します。 b() = Inet1.OpenURL(strURL, icByteArray) Open "C:\Temp\Autorun.zip" For Binary Access Write As #1 Put #1, , b() Close #1 MsgBox "完了しました。" End Sub ここの部分でタイムアウトになってしまいます。 b() = Inet1.OpenURL(strURL, icByteArray) FTPサーバのアドレスとかちゃんとあってます。 どなたか、解決方法をご教授くださいませm(_ _)m
- ベストアンサー
- Visual Basic
- CGI(Perl)で、Net::FTPを使いたい
CGIで、FTPしてファイル転送するつもりがエラーになりました。 $ftp = Net::FTP->new($hostname, Debug =>$ftpdebug, Passive => true); は、実行したようですが、次の $ftp->login($username, $password); で Can't call method "login" on an undefined value at... といわれました。なんでだろ。
- 締切済み
- CGI
- テキストファイルのアップロード
以下の仕様において、FTPプロトコルを用いて ファイルをアップロードする方法を教えてください。 /** * テキストファイルのFTPプロトコルによるアップロード * * @param filename 転送するテキストファイル(フルパス) * @param hostFolder 転送先フォルダ * @param hostAddress ホストアドレス * @param userName ユーザ名 * @param password パスワード */ public static void uploadText( String filename, String hostFolder, String hostAddress, String userName, String password ) throws IOException ネットワークプログラミングに関しては、全くの素人ですが、 Java(スタンドアロン)アプリケーションの開発経験はありますので、 特にコードの内容をご説明頂かなくても構いません。解読します。 すみませんが、よろしくお願い申し上げます。
- ベストアンサー
- Java
- inetコントロールを使用したFTP送信の質問その1
ローカルにあるファイルを、FTPサーバに送信するプログラムを作成しました。 inetコントロールを使用して、以下のようなプログラムを組みました。 Private sub ftp() Inet1.Protocol=icFTP Inet1.Url="ftp://xxx.xxx.xxx.xxx/" Inet1.UserName="aaaa" Inet1.Password="bbbb" Inet1.Execute , "SEND x:\xxx\xxx.txt xxx/xxx.txt" End sub Private sub Inet1_StateChanged(Byval State As Integer) Dim sMsg As String Select Case State Case icRequestSent sMsg = "送信完了" TCall LogWrite(sMsg) ログをファイルに書く(自作関数) Case icError sMsg = Inet1.ResponseCode & " " & Inet1.ResponseInfo Call LogWrite(sMsg) エラーログをファイルに書く(自作関数) End Select End Sub ファイルを複数送信するため、「sub ftp()」は複数回呼び出されます。 上記プログラムにCLOSEコマンドとCANCELメソッドを追加して、以下のようにしたほうがよいのでしょうか? CLOSEコマンドとCANCELメソッドの使い方がよくわからず、悩んでいます。 Private sub ftp() Inet1.Protocol=icFTP Inet1.Url="ftp://xxx.xxx.xxx.xxx/" Inet1.UserName="aaaa" Inet1.Password="bbbb" Inet1.Execute , "SEND x:\xxx\xxx.txt xxx/xxx.txt" Inet1.Execute , "CLOSE" End sub Private sub Inet1_StateChanged(Byval State As Integer) Dim sMsg As String Select Case State Case icRequestSent sMsg = "送信完了" TCall LogWrite(sMsg) ログをファイルに書く(自作関数) Case icError sMsg = Inet1.ResponseCode & " " & Inet1.ResponseInfo Call ErrLogWrite(sMsg) エラーログをファイルに書く(自作関数) Inet1.Cancel End Select End Sub
- 締切済み
- Visual Basic
お礼
お返事おくれてすみません。 私も探してみたのですが探し方が悪かったのか 見つかりませんでした。 助かりました。 早速、試してみたいと思います。 ありがとうございます。