2013-02-27 2 views
0

II должен отправить данные http post на сайт, пропустить прокси и получить ответ сервера. Например, я хочу, чтобы отправить запросHttp Запрос на отправку с использованием tcpClient с использованием прокси

request=Encoding.ASCII.GetBytes("POST/HTTP/1.1\r\nHost: example.com\r\nConnection: Close\r\n\r\ntest_check=Hello"); 

В моем сайте, я проверяю, если сообщение данных хорошо отослано. В этом случае я возвращаюсь «Хорошо». Во-первых, я writte что-то вроде этого:

TcpClient client = new TcpClient(host, port); 
NetworkStream stream = client.GetStream(); 
stream.Write(request, 0, request.Length); 
stream.Flush(); 
while ((count = stream.Read(buffer, 0, buffer.Length)) > 0) 
      response.Append(encoder.GetString(buffer, 0, count)); 

Ответ пуст. Что не так?

После того, как это сработает, я хочу отправить запрос через TcpCLient прокси-сервера. Является ли это возможным?

Благодаря

ответ

0

Поскольку вы используете протокол HTTP, вы должны использовать класс HttpWebRequest, который не поддерживает настройки прокси-сервера с классом WebProxy.

+0

Хорошо для вопроса прокси, но что вы думаете по первому вопросу? – user1845394

+0

Мне нужно было бы повторно прочитать HTTP-протокол, но ваш первый фрагмент кода даже не понадобится, если вы используете HttpWebRequest и установите метод POST. Могло быть много причин, по которым ответ не возвращался. Я бы порекомендовал Fiddler или после отправки запроса с HttpWebRequest, вы получите HttpWebResponse, и вы можете проверить заголовки для кода состояния, чтобы узнать, есть ли у вас проблемы в другом месте. Это пространство между POST и версией протокола кажется пропуском, но опять же, мне нужно будет проверить спецификацию. – Justin

Смежные вопросы