Ben Sorunun başlık powershell hakkındadır fark bu yardımcı olur
ps> [int][system.net.httpstatuscode]::ok
200
Umut, ancak soru ne sormuyor? Her iki şekilde de ...
WebClient, HttpWebRequest için çok aşağılık bir sarıcıdır. WebClient, sadece çok basit bir hizmet tüketimini veya biraz Xml yayınlamanız durumunda harikadır, ancak bu, sizin istediğiniz gibi esnek olmamasına bağlıdır. WebClient'ten aradığınız bilgileri alamayacaksınız.
Durum koduna ihtiyacınız varsa, bunu HttpWebResponse'den edinin. Eğer/WebClient'a w (sadece bir URL için bir dize gönderme) böyle bir şey yaptığını olsaydı:
var bytes =
System.Text.Encoding.ASCII.GetBytes("my xml");
var response =
new WebClient().UploadData("http://webservice.com", "POST", bytes);
o zaman durum kodu almak için HttpWebRequest ile bunu istiyorum. Aynı fikir, sadece daha fazla seçenek (ve bu nedenle daha fazla kod). Bir kod örneği ile tam daire gelmek hem x0n ve joshua ibrik verdiği cevapları kullanarak
//create a stream from whatever you want to post here
var bytes =
System.Text.Encoding.ASCII.GetBytes("my xml");
var request =
(HttpWebRequest)WebRequest.Create("http://webservice.com");
//set up your request options here (method, mime-type, length)
//write something to the request stream
var requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
var response = (HttpWebResponse)request.GetResponse();
//returns back the HttpStatusCode enumeration
var httpStatusCode = response.StatusCode;
Bu, bir 2xx iletisinin (sanırım) bir şey aldığında bir istisna atar. Bu benim düşüncemde beklenen bir davranış değil –
@JoePhilllips Denemeye başladım ..snippet'i yakalayın, böylece diğer durum kodlarını işleyebilir. – merv
Bir sebepten ötürü düzenleme işleminiz bir başkası tarafından reddedildi, ancak ben ileri gittim ve yorumunuzu kestim ve düzenlemeyi elle yaptım. Gönderme için tx – halr9000