2013-09-26 1 views
0

Я создал функцию для создания веб-запроса и загрузки api на своем веб-сайте для подключения к ssh с параметрами.Webrequest не работает в функции при повторном использовании

Это код функции:

Public Function sshExec(ByVal command As String) 

    Try 
     Dim request As WebRequest = _ 
    WebRequest.Create("http://api.***.be/ssh.php?host=" + ComboBox1.Text + "&username=root&password=" + TextBox1.Text + "&command=" + command) 
     ' Get the response. 
     Dim response As WebResponse = request.GetResponse() 
     ' Get the stream containing content returned by the server. 
     Dim dataStream As Stream = response.GetResponseStream() 
     ' Open the stream using a StreamReader for easy access. 
     Dim reader As New StreamReader(dataStream) 
     ' Read the content. 
     Dim responseFromServer As String = reader.ReadToEnd() 

     If responseFromServer.Contains("Login Failed") Then 
      lblStatus.Text = "Login failed" 
      lblStatus.ForeColor = Color.Red 
     Else 
      lblStatus.ForeColor = Color.Green 
      lblStatus.Text = "Connected" 
     End If 

     TextBox2.Text = "http://api.***.be/ssh.php?host=" + ComboBox1.Text + "&username=root&password=" + TextBox1.Text + "&command=" + command 

     ' Clean up the streams and the response. 
     reader.Close() 
     response.Close() 

     Return responseFromServer 

    Catch ex As Exception 


    End Try 

End Function 

Я сделал текстовое поле, и когда я использую функцию он помещает ссылку апи, что она загружает в текстовое поле. Если я копирую это и загрузить его в браузере он работает нормально, но с WebRequest он говорит:

Notice: Cannot connect to 62.113.*** Error 0. php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/niel/public_html/api/Net/SSH2.php on line 831 
Login Failed 

Кроме того, когда я использую функцию а второй раз, когда он не загружает страницы на всех.

Кто-нибудь знает, что случилось? Заранее спасибо :)

ответ

0

Скорее всего, потому что вы не выбрасывайте response, так просто называют

response.Dispose() 

после его закрыл.

+0

Dispose не является членом сообщения, которое он говорит. – Niel

+0

@Niel какой .net версия вы используете? http://msdn.microsoft.com/en-us/library/ff928381(v=vs.100).aspx – VladL