C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

WindowsFormからのGETリクエスト

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■97046 / inTopicNo.1)  WindowsFormからのGETリクエスト
  
□投稿者/ ルーキー (4回)-(2021/03/19(Fri) 15:43:44)

分類:[C#] 

GETリクエストにて下記のようなリクエストを送信すると、レスポンスとしてCSVファイルを送信するWebサーバーがあるとします。
GET /test/GetFileDownLoad

このような場合、WindowsFormを利用して特定のフォルダーにダウンロードするにはどうすればよいのでしょうか?

WebRequest.Create("http://WebサーバーIPアドレス");
request.GetResponse();

上記のステータスはOKが返されますが、

WebRequest.Create("http://WebサーバーIPアドレス/test/GetFileDownLoad";

と指定ではそもそもアドレスが存在しないと返されます。
そもそもGETリクエストの方法が誤っているのかとは思いますが、
どのようにすればよいのか色々Webを検索してもわからずじまいです。。。

お手数ですが、参考ソース的なものと合わせてご教示いただければ幸いです。

GET /test/GetFileDownLoad リクエストを送信し、レスポンスのCSVファイルを特定フォルダーに自動ダウンロードするイメージです。


引用返信 編集キー/
■97047 / inTopicNo.2)  Re[1]: WindowsFormからのGETリクエスト
□投稿者/ WebSurfer (2204回)-(2021/03/19(Fri) 16:10:50)
No97046 (ルーキー さん) に返信

ブラウザを使うというのはなしですか?
引用返信 編集キー/
■97048 / inTopicNo.3)  Re[1]: WindowsFormからのGETリクエスト
□投稿者/ 魔界の仮面弁士 (3018回)-(2021/03/19(Fri) 16:14:26)
No97046 (ルーキー さん) に返信
> GETリクエストにて下記のようなリクエストを送信すると、レスポンスとしてCSVファイルを送信するWebサーバーがあるとします。
> GET /test/GetFileDownLoad

GET なのですよね。

では、Web ブラウザーから http://WebサーバーIPアドレス/test/GetFileDownLoad に
アクセスした場合には、CSV を取得できますか?

それで取得できないのであれば、そもそも URL 指定に問題があるか、
もしくは「認証情報が必要」なサーバーの可能性があります。


> WebRequest.Create("http://WebサーバーIPアドレス/test/GetFileDownLoad";

プログラムからリクエストを投げる前に、コマンドプロンプトから
「curl http://WebサーバーIPアドレス/test/GetFileDownLoad」を実行してみてください。

curl コマンドを搭載していない古い Windows の場合は https://reqbin.com/curl を利用できます。
(外部公開されているサーバーが対象)

curl でも駄目なら、そもそもリクエスト内容に問題があるのだと思いますので、
サーバーの管理者に仕様を再確認してみてください。
引用返信 編集キー/
■97053 / inTopicNo.4)  Re[2]: WindowsFormからのGETリクエスト
□投稿者/ ルーキー (5回)-(2021/03/19(Fri) 16:49:44)
お二方、ご返信ありがとうございます。

魔界の仮面弁士様にご教示いただいたcurlで調べたところ、やはり接続できなかったので、
資料を再確認したところ、下記の部分が私が勘違いしておりました。

GET /サーバー機器/Data/DataForDonwload

具体的には上記の様に書いてあり、サーバー機器のところはそのまま指定するものとばかり思っておりました。
http://Webサーバーアドレス/サーバー機器/Data/DataForDonwload)
「/サーバー機器/」のところを「http://WebサーバーIPアドレス」で置き換えれば問題なく取得できました。
私の勘違いでお手間をとらせて申し訳ないです。

ただ、それまでのページには全て、「WebサーバーIPアドレスを指定して接続する」という記載だったもので、
私の様な知識が浅いものにはわかりづらい資料かと思いました。
身内のことで恐縮ですが、改善依頼を出しておきます。

ありがとうございました。


解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ