2010-10-04 9 views
10

this sorununu çözmeye çalışırken yaptığım araştırmaya göre .Net WebProxy sınıfının Socks proxy'lerini desteklemediği ortaya çıkıyor - biraz sinir bozucu. Ayrıca, HttpWebRequest (tam olarak Proxy özelliği) ile kolayca kullanılabilen bir sınıf aracılığıyla Socks 4/5 desteğinin nasıl uygulanacağını açıklayan herhangi bir kod veya bilgi bulamıyorum.HttpWebRequest için Proxy Proxy

Bunu nasıl yapabildiğim konusunda google üzerinden sınırlı bilgiler buldum. One suggestion, internet explorer proxy ayarlarını değiştirmeyi içerir - yapmayı tercih etmediğim bir şey.

İşi yapabilecek veya herhangi bir öneride bulunabilecek bir şey bilen var mı? Herhangi bir yardım çok takdir edilecektir.

cevap

3

Socks4/5'i desteklediğini iddia eden çok sayıda .Net kitaplığını denedim, ancak bunların çoğunun işe yaramadığını ya da çalıştığını bildiğim proxy'lere bağlanırken hata yaptıklarını keşfettim.

HttpWebRequest'i kullanmak istediğim gibi HTTP isteklerini el ile oluşturmak zorunda kalsam bile, benim için iyi çalışıyor gibi görünen Chilkat Software's Sock/SSL component kullanarak sonlandırdım.

  • Güncelleştirme notu: Chilkat.Http (HttpWebRequest sınıfına benzer şekilde), doğal olarak SOCKS proxy'leri için desteğe sahip. Bu yüzden, kendi HTTP isteklerinizi benim yaptığım gibi kodlamaya çalışmak için zaman ayırmayın; Sadece Chilkat.Http.SocksHostname, Chilkat.Http.SocksPort ve Chilkat.Http.SocksVersion özelliklerini kullanın.
+0

Chilkat, artık SOCKS'i destekliyor. Chilkat.Http.SocksVersion', Chilkat.Http.SocksHostname', 'Chilkat.Http.SocksPort'. Bu özellikleri yapılandırmak, HTTP bağlantılarını ÇORAP kullanmak için zorlar. Chilkat API referansı: [link] (http://www.chilkatsoft.com/refdoc/csHttpRef.html) – user1111380

2

IE'nin proxy ayarlarını değiştirmek size hiç yardımcı olmaz; diğer poster yalnızca IE için çalıştığını gözlemliyordu. .NET Framework SOCKS'i desteklemediğinden, kendi CERN-Proxy'sini SOCKS-Proxy dönüştürücüsüne yazmanız gerekir, böylece .NET CERN proxy'sine (desteklediği tür) konuşur ve kodunuz bunu ÇORAP vekil çağrı.

FWIW, bu şu anda FiddlerCore'a eklemek istediğim bir şey (www.fiddler2.com/core) çünkü zaten kodun neredeyse tamamı var. Gerçekten ihtiyacım olan tek şey test etmek için bir SOCKSv4a proxy'si.

+0

öneri Bu sayfaya IE proxy değiştirmek ve sonra WebProxy.DefaultProxy özelliğini kullanmak oldu - http://social.msdn.microsoft.com/Forums/en-US/ncl/thread/982bef6c-b9a4-4c0d-b7d5-0c64df9f610a. Ben sadece bu kod aracılığıyla kolayca uygulamak için herhangi bir sınıf/kütüphane bulamıyorum şaşırıyorum - yapmak için böyle bariz bir şey gibi görünüyor. Uyguladıysanız harika olur - FiddlerCore projesine göz kulak olurum. – JoeR