C#のDnsクラスを使ってwebサーバにアクセスしたい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
gari
記事: 16
登録日時: 11年前

C#のDnsクラスを使ってwebサーバにアクセスしたい

#1

投稿記事 by gari » 10年前

C#で System.NetのDnsクラスを使って、web上にある、アクセスすると応答してくれるサーバーがあり、
指定したURLにアクセスして応答を受けとるプログラムを組みたいのですが
いろいろ調べても、どうやったらいいのか全然わからなく困っています。

どなたかわかる方がいたら教えてくれるとうれしいです。

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: C#のDnsクラスを使ってwebサーバにアクセスしたい

#2

投稿記事 by YuO » 10年前

えーっと,System.Net.Dnsは,MSDNにあるように,
単純なドメイン名解決機能を提供します。
というクラスです。
URIのホスト部を実際に接続するためのIPアドレスに変換するための機能 (やその逆変換機能) は持っていますが,URIを指定するとそのスキームに依存した接続を行うような機能はもっていません。
さらに,名前解決を行うといっても,システムの解決機能を呼び出すためのものであり,DNSサーバーを指定して解決するような機能も持っていません。

現状の情報からであると,
  • URIにfile以外のスキームが使われているのであればSystem.Net.Sockets.Socketクラス
  • fileスキームであるならばSystem.IO名前空間の各クラス
を,それぞれ使うことになると思います。

スキームが特定されていれば,System.Net.Http.HttpClientクラスなど,もっと特化したクラスを提示できるかもしれませんが。

gari
記事: 16
登録日時: 11年前

Re: C#のDnsクラスを使ってwebサーバにアクセスしたい

#3

投稿記事 by gari » 10年前

YuO さんが書きました:URIにfile以外のスキームが使われているのであればSystem.Net.Sockets.Socketクラス
fileスキームであるならばSystem.IO名前空間の各クラス
これらはどこを見たら判断できるのでしょうか、
教えていただけると幸いです

あと、自分の開発環境では .NetFreamwork 4.5が使えないので System.Net.Http.HttpClirentが使えないのです

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

Re: C#のDnsクラスを使ってwebサーバにアクセスしたい

#4

投稿記事 by YuO » 10年前

gari さんが書きました:
YuO さんが書きました:URIにfile以外のスキームが使われているのであればSystem.Net.Sockets.Socketクラス
fileスキームであるならばSystem.IO名前空間の各クラス
これらはどこを見たら判断できるのでしょうか、
URIの先頭から,最初の:の直前までがスキームです。
ref) URI Generic Syntax 3. Syntax Components
gari さんが書きました:あと、自分の開発環境では .NetFreamwork 4.5が使えないので System.Net.Http.HttpClirentが使えないのです
「など」です。
そもそも,HTTPでないプロトコルを指定するようなスキーム (e.g. mailto,ftp) ではHttpClientは使えないですし,
URIにhttpスキームが指定されていても,例えばSystem.Net.HttpWebRequestクラスなどは.NET Framework 1.0からサポートされています。

また,HttpClient自体はNuGet提供されていますから,.NET Framework 4.0以上の環境,Visual Studio 2010以降において利用可能です。

gari
記事: 16
登録日時: 11年前

Re: C#のDnsクラスを使ってwebサーバにアクセスしたい

#5

投稿記事 by gari » 10年前

YuO さんが書きました:
gari さんが書きました:
YuO さんが書きました:URIにfile以外のスキームが使われているのであればSystem.Net.Sockets.Socketクラス
fileスキームであるならばSystem.IO名前空間の各クラス
これらはどこを見たら判断できるのでしょうか、
URIの先頭から,最初の:の直前までがスキームです。
ref) URI Generic Syntax 3. Syntax Components
たとえばgoogleの https://www.google.com なら「https」がスキームということでいいのでしょうか。

そうであれば、私がアクセスしたいのはhttpスキームです。
YuO さんが書きました:また,HttpClient自体はNuGetで提供されていますから,.NET Framework 4.0以上の環境,Visual Studio 2010以降において利用可能です。
NuGetですか、初めて聞きました。調べてみたいと思います。
System.Net.HttpWebRequestクラスも調べてみます

閉鎖

“C言語何でも質問掲示板” へ戻る