не давно работал с 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);