46

VB.net で http get を発行する最良の方法は何ですか? http://api.hostip.info/?ip=68.180.206.184のようなリクエストの結果を取得したい

4

7 に答える 7

75

VB.NET の場合:

Dim webClient As New System.Net.WebClient
Dim result As String = webClient.DownloadString("http://api.hostip.info/?ip=68.180.206.184")

C# の場合:

System.Net.WebClient webClient = new System.Net.WebClient();
string result = webClient.DownloadString("http://api.hostip.info/?ip=68.180.206.184");
于 2008-09-18T13:31:45.920 に答える
27

HttpWebRequest クラスを使用して、要求を実行し、特定の URL から応答を取得できます。次のように使用します。

Try
    Dim fr As System.Net.HttpWebRequest
    Dim targetURI As New Uri("http://whatever.you.want.to.get/file.html")         

    fr = DirectCast(HttpWebRequest.Create(targetURI), System.Net.HttpWebRequest)
    If (fr.GetResponse().ContentLength > 0) Then
        Dim str As New System.IO.StreamReader(fr.GetResponse().GetResponseStream())
        Response.Write(str.ReadToEnd())
        str.Close(); 
    End If   
Catch ex As System.Net.WebException
   'Error in accessing the resource, handle it
End Try

HttpWebRequest の詳細については、http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx を参照してください。

2 番目のオプションは、WebClient クラスを使用することです。これは、Web リソースをダウンロードするための使いやすいインターフェイスを提供しますが、HttpWebRequest ほど柔軟ではありません。

Sub Main()
    'Address of URL
    Dim URL As String = http://whatever.com
    ' Get HTML data
    Dim client As WebClient = New WebClient()
    Dim data As Stream = client.OpenRead(URL)
    Dim reader As StreamReader = New StreamReader(data)
    Dim str As String = ""
    str = reader.ReadLine()
    Do While str.Length > 0
        Console.WriteLine(str)
        str = reader.ReadLine()
    Loop
End Sub

Web クライアントの詳細については、http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx を参照してください。

于 2008-09-18T13:37:26.640 に答える
5

WebRequestクラスを使用する

これは画像を取得することです:

Try
    Dim _WebRequest As System.Net.WebRequest = Nothing
    _WebRequest = System.Net.WebRequest.Create(http://api.hostip.info/?ip=68.180.206.184)
Catch ex As Exception
    Windows.Forms.MessageBox.Show(ex.Message)
    Exit Sub
End Try

Try
    _NormalImage = Image.FromStream(_WebRequest.GetResponse().GetResponseStream())
Catch ex As Exception
    Windows.Forms.MessageBox.Show(ex.Message)
    Exit Sub
End Try
于 2008-09-18T13:32:26.463 に答える
3

最も簡単な方法はSystem.Net.WebClient.DownloadFileまたはDownloadStringです。

于 2008-09-18T13:32:48.037 に答える
1

HttpWebRequestクラスを試す必要があります。

于 2008-09-18T13:29:27.623 に答える
1

これを試して:

WebRequest request = WebRequest.CreateDefault(RequestUrl);
request.Method = "GET";

WebResponse response;
try { response = request.GetResponse(); }
catch (WebException exc) { response = exc.Response; }

if (response == null)
    throw new HttpException((int)HttpStatusCode.NotFound, "The requested url could not be found.");

using(StreamReader reader = new StreamReader(response.GetResponseStream())) {
    string requestedText = reader.ReadToEnd();

    // do what you want with requestedText
}

C# について申し訳ありません。あなたが VB を要求したことは知っていますが、変換する時間がありませんでした。

于 2008-09-18T13:36:09.857 に答える