Giriş
HttpWebRequest sınıfını doğru doldurmak bana hep zor geldi. Ancak HttpWebResponse ile cevabı okumak çok kolay.
Constructor
HttpWebRequest sınıfı kullanılarak bu nesne yaratılır. HttpWebResponse her zaman using ile kullanılmalıdır, çünkü Http/1.1 aynı anda ikiden fazla bağlantıya izin vermiyor. Bu yüzden bağlantının kapatılması gerekiyor.
Sunucunun gönderdiği cevaptaki cookie'lere şöyle erişiriz.
Cevabı stream olarak okumamızı sağlar.
Bu sınıfın CharacterSet isimli bir özelliği ile döndürülen metnin kullandığı kodek öğrenilebilir.
WebHeaderCollection tipindendir. Şöyle yaparız.
Cevabı şöyle kontrol ederiz.
HttpWebRequest sınıfını doğru doldurmak bana hep zor geldi. Ancak HttpWebResponse ile cevabı okumak çok kolay.
Constructor
HttpWebRequest sınıfı kullanılarak bu nesne yaratılır. HttpWebResponse her zaman using ile kullanılmalıdır, çünkü Http/1.1 aynı anda ikiden fazla bağlantıya izin vermiyor. Bu yüzden bağlantının kapatılması gerekiyor.
using(HttpWebResponse response = (HttpWebResponse)httpWebReq.GetResponse())
{...}
CookiesSunucunun gönderdiği cevaptaki cookie'lere şöyle erişiriz.
HttpWebResponse response = ...;
foreach (Cookie c in authresponse.Cookies)
System.WriteLine ({0,1,2,3},c.Name, c.Value, c.Path, c.Domain));
GetResponseStream metoduCevabı stream olarak okumamızı sağlar.
var stream = response.GetResponseStream();
var sr = new StreamReader(stream);
var content = sr.ReadToEnd();
XML olarak ta okuyabiliriz.var xdoc = XDocument.Load(response.GetResponseStream());
Cevabı dosyaya şöyle kaydederiz.string path = ...;
...
using (Stream inputStream = response.GetResponseStream())
using (Stream outputStream = File.OpenWrite(path))
{
byte[] buffer = new byte[4096];
int bytesRead;
do
{
bytesRead = inputStream.Read(buffer, 0, buffer.Length);
outputStream.Write(buffer, 0, bytesRead);
} while (bytesRead != 0);
}
CharacterSet AlanıBu sınıfın CharacterSet isimli bir özelliği ile döndürülen metnin kullandığı kodek öğrenilebilir.
var charset= response.CharacterSet;
var encoding = Encoding.GetEncoding(charset);
var sr= new StreamReader(response.GetResponseStream(),encoding);
Headers AlanıWebHeaderCollection tipindendir. Şöyle yaparız.
HttpWebResponse response = ...;
WebHeaderCollection headers = response.Headers;
StatusCode AlanıCevabı şöyle kontrol ederiz.
HttpWebResponse response =...
if ((response.StatusCode == HttpStatusCode.OK ||
response.StatusCode == HttpStatusCode.Moved ||
response.StatusCode == HttpStatusCode.Redirect) &&
response.ContentType.StartsWith("image", StringComparison.OrdinalIgnoreCase))
{...}
Hiç yorum yok:
Yorum Gönder