@Tony1337

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

Всем привет! Я начинающий программист. Пишу я на C#, недавно перешел с консоли на WinForms. Начал изучать VK API, получилось сделать авторизацию, и сейчас возникли проблемы с использованием методов. Я не понимаю как правильно сделать GET запрос, и вывести результат на TextBox, например новости(NewsFeed). За ранее благодарен всем, кто поможет!
P.S. Если что, пишите подробней, ибо я 1-2 месяца занимаюсь программированием
  • Вопрос задан
  • 2303 просмотра
Пригласить эксперта
Ответы на вопрос 3
devspec
@devspec
Помогло? Отметь решением
Воспользуйтесь WebClient
Ответ написан
petermzg
@petermzg
Самый лучший программист
GET запрос, это когда параметры запроса передаются через URL
Для примера:
vk.com?login=admin&password=qwerty

Параметры всегда начинаются после знака "?"
тут передаются параметры с именами login и password
разделитель "&"
Ответ написан
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);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы