2012-02-28 2 views
4

я отправить запрос POST по этому пути:Отправить POST HttpWebRequest и не должны получить ответ

HttpWebResponse res = null; 
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url); 
req.Method = "POST"; 
req.CookieContainer = cookieContainer; 
req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"; 
req.ContentType = "application/x-www-form-urlencoded"; 
ASCIIEncoding encoding = new ASCIIEncoding(); 
byte[] loginDataBytes = encoding.GetBytes(requestCommand); 
req.ContentLength = loginDataBytes.Length; 
Stream stream = req.GetRequestStream(); 
stream.Write(loginDataBytes, 0, loginDataBytes.Length); 
stream.Close(); 
//line below is my way to send request, but it return a response. 
res = (HttpWebResponse)req.GetResponse(); 

Я просто хочу, чтобы отправить запрос на веб-сервер, и я не хочу, чтобы получить réponse. Он тратит время и пропускную способность. Так или иначе, чтобы это сделать?

спасибо!

+2

комментарий строки res = (HttpWebResponse) req.GetResponse(); – dankyy1

+0

вы всегда можете создать очередь (например, в файле быстрее) и объединить этот файл для изменений каждый раз и одновременно и обрабатывать его в другом потоке ... – balexandre

+1

@ dankyy1 без этой строки, данные будут никогда не отправляется ... – balexandre

ответ

2

Нет, нет способа. Протокол HTTP - это два пути. Это протокол запроса/ответа. Вам необходимо вызвать метод GetResponse, если вы хотите отправить запрос, который вы подготовили ранее.

+0

Есть ли какой-либо способ ограничить размер пакета ответа или длину содержимого ответа на пояс? Спасибо за ваш ответ – Tiang

+0

Да, вы можете изменить скрипт на стороне сервера, чтобы вернуть меньше данных, если отправлен какой-либо параметр запроса. –

+0

Нет ли способа сделать асинхронный запрос и просто не прочитать поток ответов? – Delta

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