質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

0回答

1625閲覧

C# .batや.txtをダウンロードできない

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

1クリップ

投稿2019/08/02 12:12

C#
.NET 4.7.2
コンソールアプリケーションでファイルのダウンロードを実装しています。

C#

1WebClient wc = new WebClient(); 2wc.DownloadFile(url_1, "C:\hoge.sys"); 3wc.DownloadFile(url_2, "C:\hoge.bat"); 4wc.Dispose();

といった具合にダウンロードさせているのですが、
hoge.batやhoge.txtをURLからダウンロードすると、
URLのサイトのHTMLそのものをダウンロードしてしまいます。
hoge.sysなどのダウンロードは正常に行えているのですが。

解決方法として、zipとして落として解凍するのもありですが、出来る限り処理をスマートに行いたいので、解決方法がございましたらご教授願いたいです。

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/08/02 12:34

そうなるURLを具体的に書いて頂けますか。
退会済みユーザー

退会済みユーザー

2019/08/02 12:36

様々なURLを試しましたが全て同じ結果です。 Dropbox、GoogleDrive、Gofile全てです。
退会済みユーザー

退会済みユーザー

2019/08/02 12:49

様々とか言われても何も具体的な事言わないと、何ともなんですが・・・ 今ぱっとGoogleドライブを見たんですが、取得できるURLが共有リンクぐらい(Web上で出すのでこのページはもちろんHTML)しか見当たらず。 ただ、ファイルそのものを指すURLがあって、それを指定してるってことですよね?
退会済みユーザー

退会済みユーザー

2019/08/02 13:05

Dropboxにファイルを起き、共有リンクを作ったら似たようなURLになりました。 が、これはWeb上でファイルを見るURLであって、ファイルそのものではないのでは。 質問者さんが書いたURLも、こちらからは見れませんが、おそらくWeb上でファイルが閲覧できる共有リンクのURLであって、ファイル単体ではないですよね? ダウンロードって押して、実際取ってきたURLが正しいURLなのでは。(その部分の仕様はわからないので、その先のURLはなんともですが)
退会済みユーザー

退会済みユーザー

2019/08/02 13:15

貼ったリンクは全て共有リンクです。(ダウンロードされたくないのでURL改変していますが..) Dropboxの場合、共有URLでないとダウンロードできないような..
退会済みユーザー

退会済みユーザー

2019/08/02 13:16

そもそも、その URL にはダウンロードできるようなリソースは無くて、エラーメッセージを html で返しているからではないかと思いますけど?
退会済みユーザー

退会済みユーザー

2019/08/02 13:20 編集

こちらに貼り付けたURLは適当に入力したものです。 .batや.txtといった書式のファイルのみそのページのHTML全文が書かれたものをダウンロードしてくるのです。 同じサービスで生成したURLからダウンロードした.sysのファイルは正常にダウンロードでき、使えてます。
退会済みユーザー

退会済みユーザー

2019/08/02 13:24

テキトーなことは書かないでください。依然として意味不明ですが、指定した URL にリソースがないということはホントにないのですか?
退会済みユーザー

退会済みユーザー

2019/08/02 14:53 編集

テキトーなことと言われましても...^^; はい、ありません。 問題点であるダウンロードされた.batの内容です: https://pastebin.com/aTvaEkyD (本来であれば数行のコマンドが記されたものなのです)
KOZ6.0

2019/08/03 01:33 編集

URL さえわかればいいのですからダミーのテキストファイルを作成して共有すればいいんですよ。 test.txt を GoogleDrive で共有してみました。 (1) 共有リンクの URL https://drive.google.com/open?id=1bCkDVRMkCrRIz_S2-3uoDS4_QihsGf2_ (2) 共有リンクからリダイレクトされた URL https://drive.google.com/file/d/1bCkDVRMkCrRIz_S2-3uoDS4_QihsGf2_/view (3) 「ダウンロード」ボタンを押して test.txt がダウンロードできる URL https://doc-08-3g-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/sakbds15caoa5an39tvvi08l7tcmd96d/1564754400000/09803223865186622040/*/1bCkDVRMkCrRIz_S2-3uoDS4_QihsGf2_?e=download (1) や (2) ではなく、(3) をダウンロードする必要がありますが Karna さんは C# でどの URL をダウンロードしようとしていますか? 追加情報です。 (3) のURL は一時的なもので変わってしまうようです。 (4) https://drive.google.com/uc?id=1bCkDVRMkCrRIz_S2-3uoDS4_QihsGf2_ これをダウンロードしたらちゃんと取得できました。 test.bat も OK https://drive.google.com/uc?id=1NNnJa1S1xhaaAWT-WdNs7D8m71yK-yh8
退会済みユーザー

退会済みユーザー

2019/08/02 21:20

> はい、ありません。 アプリがファイルを生成するのでなく、静的ファイルが Web サーバーに存在していて、それをダウンロードするという話と理解しているのですが、違うのですか? その理解で合っていれば、ファイルがないのでは何ともならないのは当たり前。またテキトーな事を言われてる気がしますけど・・・
Zuishin

2019/08/02 22:38

Dropbox のファイルをダウンロードするには認証が必要だったはずです。API を使ってください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問