Yerel ağda çalışan web hizmetlerini algılamak için bir bağlantı noktası tarayıcısı yazıyorum. Bu web hizmetlerinden bazıları temel kimlik doğrulaması gerektirir - Bu hizmetlerin kullanıcı adı/şifresini bilmiyorum, sadece onları listelemek istiyorum, bu nedenle bu aşamada kimlik bilgilerini sağlayamıyorum. - Ben fiddler ile onları görebilirsiniz ama HttpWebResponse nesne olarak ayarlanır çünkü onlar iade ediliyor biliyorum401 Sunucu Hatası'ndan başlıkları nasıl alabilirim
var request = (HttpWebRequest)WebRequest.Create("http://" + req);
request.Referer = "";
request.Timeout = 3000;
request.UserAgent = "Mozilla/5.0";
request.AllowAutoRedirect = false;
request.Method = WebRequestMethods.Http.Head;
HttpWebResponse response = null;
try
{
response = (HttpWebResponse) request.GetResponse();
// I want to parse the headers here for the server name but as the exception is thrown the response object is null.
}
catch (Exception ex)
{
//401 error is caught here - response is null
}
Sonra döndürülen başlıklarından sunucu adını ayrıştırma: Ben kodu kullanıyorum GetResponse() yöntemi bir istisna atıyor null. Temel olarak - nasıl atmak ve istisna değil, ancak başlıkları 401
Web servisleri üzerinde kontrolünüz var mı? Daha spesifik olarak, kodlarını kontrol ettiniz mi? Ayrıca, 'port tarayıcı' HTTP ile ilgisi yoktur belki de TCPClient sınıfını kullanmayı deneyin. –
hayır Web servisleri üzerinde kontrol sahibi değilim - IP kameraları arıyorum, bu yüzden özellikle web sunucuları arıyorum. Öneri için teşekkürler. – Sean