ここは、RESTfulなWebサービスにPOSTするためのコードです。私の問題は最後の行です。 たとえば、私のサーバーは異なるメッセージと同じコードで返信することができます。 今、私は200 OKを取得しない限り、私はちょうど最後の行に例外を取得します。httpコールから適切な応答を得ます。例外ではありません。
私が得たコードに関係なく、レスポンスヘッダーなどにアクセスしたいと思っています。そんなことがあるものか?
var request = WebRequest.Create(Options.DitatServerUri + Options.DitatAccountId + "/integration/trip") as HttpWebRequest;
if (request == null) return false;
request.ContentType = "application/json";
request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(Options.DitatLoginName + ":" + Options.DitatPassword)));
request.Method = "POST";
var serializer = new JavaScriptSerializer();
var serializedData = serializer.Serialize(trip);
var bytes = Encoding.UTF8.GetBytes(serializedData);
request.ContentLength = bytes.Length;
var os = request.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();
var response = request.GetResponse();
例:WebException「無効な操作」が発生しますが、サーバーは実際にエラーの説明付きのメッセージを送信します。
経由で応答を得ることができますか? [the manual](http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse.aspx)をお読みになりましたか? – Jon
'WebException'を返します。十分に私は推測する - 私はHTTPコードを取得するが、私は他の例外については不平を言っていないヘッダーなどを読み取るしたい。サーバが実際に応答したときのレスポンスをより詳細に制御したいだけです – katit
ヘッダの場合、 'WebException.Response.Headers'をチェックしてください。 –