programing

HTTP GET in VB.그물

oldcodes 2023. 5. 14. 11:03
반응형

HTTP GET in VB.그물

VB.net 에서 http get을 발행하는 가장 좋은 방법은 무엇입니까?저는 http://api.hostip.info/ ?ip=68.180.186.186.186과 같은 요청의 결과를 얻고 싶습니다.

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");

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 에서 확인할 수 있습니다.

두 번째 옵션은 WebClient 클래스를 사용하는 것입니다. 이는 웹 리소스를 다운로드하는 데 사용하기 쉬운 인터페이스를 제공하지만 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

클라이언트에 대한 자세한 내용은 http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx 에서 확인할 수 있습니다.

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

가장 쉬운 방법은.System.Net.WebClient.DownloadFile또는DownloadString.

HttpWebRequest 클래스를 사용해 보십시오.

사용해 보십시오.

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를 요청하신 것은 알지만, 변환할 시간이 없었습니다.

Public Function getLoginresponce(ByVal email As String, ByVal password As String) As String
    Dim requestUrl As String = "your api"
    Dim request As HttpWebRequest = TryCast(WebRequest.Create(requestUrl), HttpWebRequest)
    Dim response As HttpWebResponse = TryCast(request.GetResponse(), HttpWebResponse)
    Dim dataStream As Stream = response.GetResponseStream()
    Dim reader As New StreamReader(dataStream)
    Dim responseFromServer As String = reader.ReadToEnd()
    Dim result = responseFromServer
    reader.Close()
    response.Close()
    Return result
End Function

언급URL : https://stackoverflow.com/questions/92522/http-get-in-vb-net

반응형