What is the best way to issue a http get in VB.net? I want to get the result of a request like http://api.hostip.info/?ip=68.180.206.184
+3
A:
In VB.NET:
Dim webClient As System.Net.WebClient = New System.Net.WebClient()
Dim result As String = webClient.DownloadString("http://api.hostip.info/?ip=68.180.206.184")
In C#:
System.Net.WebClient webClient = new System.Net.WebClient();
string result = webClient.DownloadString("http://api.hostip.info/?ip=68.180.206.184");
hangy
2008-09-18 13:31:45
+2
A:
use the webrequest class
this is to get an image
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
chrissie1
2008-09-18 13:32:26
A:
The easiest way is System.Net.WebClient.DownloadFile or DownloadString.
omellet
2008-09-18 13:32:48
A:
Try this:
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
}
Sorry about the C#, I know you asked for VB, but I didn't have time to convert.
Nick Berardi
2008-09-18 13:36:09
+9
A:
You can use the HttpWebRequest class to perform a request and retrieve a response from a given URL. You'll use it like:
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 is detailed at: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.aspx
A second option is to use the WebClient class, this provides an easier to use interface for downloading web resources but is not as flexible as 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
More info on the webclient can be found at: http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx
Wolfwyrd
2008-09-18 13:37:26