• 締切済み

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("ダウンロード終了") ====================

みんなの回答

  • rara_sun
  • ベストアンサー率50% (271/539)
回答No.1

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

riu-riu
質問者

お礼

お返事おくれてすみません。 私も探してみたのですが探し方が悪かったのか 見つかりませんでした。 助かりました。 早速、試してみたいと思います。 ありがとうございます。

関連する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 ※半角スペースは、全角スペースに置換しています。

  • 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 宜しくお願い致します。

  • アップロードができない

    ローカル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 ///////////////////////////////////////////////

  • 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に変換するとディレクトリ名などが正常に確認できます。 なぜ、ファイルがダウンロードされないのでしょうか?

  • 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" '-------------------------------------

  • VB2005 Do Loopについて

    VB2005 でDo Loopを使用していますが、このDo Loop内の処理をしている時にイベント(例えばボタンをクリック)が発生した場合、その処理をしたいのですがどうすれば良いでしょうか? VB6の時は、DoEventsを使用していましたが、VB2005でも使用できるのでしょうか? ご存知の方がいらっしゃいましたら、教えて頂きたいのですが。 よろしくお願いします。

  • 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

  • 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

専門家に質問してみよう