• C# (WinForms) - Как сделать GET запрос(VK API)?

    Ilfar_sif
    @Ilfar_sif
    эникейщик
    не давно работал с get-запросом. Может чем-то поможет.
    этот метод принимает url и данные для отправки. и возвращает ответ от сервера:
    public string GET(string sUrl, string Data)
            {
            
                string returnData = null;
                string d = Data;
                try
                {
                 TcpClient newClient = new TcpClient();
                 //тут к примеру подключаемся к http://192.168.16.254:8080/blink?f=2
                 newClient.Connect(sUrl, 8080);
                 byte[] sendBytes = System.Text.Encoding.ASCII.GetBytes(d);
                 NetworkStream tcpStream = newClient.GetStream();          
                 tcpStream.Write(sendBytes, 0, sendBytes.Length);
                 byte[] bytes = new byte[newClient.ReceiveBufferSize];
                 int bytesRead = tcpStream.Read(bytes, 0, newClient.ReceiveBufferSize);
                 
                 // Строка, содержащая ответ от сервера
                 returnData = Encoding.UTF8.GetString(bytes);
                //закрываем подключение
                newClient.Close();
    
            }
                catch (SocketException ex)
                {
                     //если что-то пойдет не так, тут покажет ошибку
                    MessageBox.Show(ex.ToString());
                }
                //возвращает ответ от сервера.
                return returnData;
            }


    Метод Get() можно вызвать по нажатию кнопки:
    private void button1_Click(object sender, EventArgs e)
            {
                       //тут создаю экземпляр класса, потому что у меня метод get() находится в классе Class_Socket
                      Class_Socket cl_s = new Class_Socket();
                        //тут вызываю метод и одновременно присваиваю к переменной 'а' ответ от сервера 
                         //url у меня //public String URL = "http://192.168.16.254:8080/blinkSs"+"?";
                         //public String r="тут данные";
                         //общии url будет выглядит так:http://192.168.16.254:8080/blinkSs?тут данные
    
                        String a = cl_s.GET(URL, r);  //"String a" можно куда-нибудь вывести и посмотреть, что из себя 
                         //представляет, а потом можно парсить.
            }


    если метод get() находится в том же классе, откуда вызываешь, то можно просто написать: String a = GET(URL, r);
    Ответ написан