2012-02-28 12 views
4

を受信する必要はありません。は、POSTのHttpWebRequestを送信し、私はこの方法でPOSTリクエストを送信し、応答

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(); 

は、私はちょうどウェブサーバに要求を送信したいと私はREPONSEを受信したくありません。それは時間と帯域幅を無駄にします。とにかくそれをするには?

ありがとうございました!

+2

コメント行res =(HttpWebResponse)req.GetResponse(); – dankyy1

+0

あなたは常にキューを作成することができます(例えば高速化するファイル内)。そのファイルを一度に変更してプールし、他のスレッドで処理してください。 – balexandre

+1

@ dankyy1その行がなければ、データは決して送信されません... – balexandre

答えて

2

いいえ、方法はありません。 HTTPプロトコルは2つの方法です。これは要求/応答プロトコルです。前に準備した要求を送信する場合は、GetResponseメソッドに電話する必要があります。

+0

応答パッケージのサイズを制限するか、応答のコンテンツの長さを制限する必要はありますか?あなたの返信ありがとう – Tiang

+0

はい、いくつかの要求パラメータが送信された場合、より少ないデータを返すようにサーバーサイドスクリプトを変更できます。 –

+0

非同期要求を行い、単に応答ストリームを読み取らない方法はありませんか? – Delta

関連する問題