2012-08-13 22 views
6

im próbuje złożyć zamówienie za pośrednictwem pełnomocnika torjak uczynić HttpWebRequest poprzez Tor

myRequest.Proxy = New WebProxy("127.0.0.1", 8118) 

ale to daje mi błąd Unable to connect to the remote server

i wewnętrzny wyjątek jest No connection could be made because the target machine actively refused it 127.0.0.1:8118

moje czytanie pokazuje, że może to być problem z firewallem, więc całkowicie wyłączyłem Windows FW, również tymczasowo wyłączyłem AVG AV. Nie mam żadnych innych zabezpieczeń, które im świadomość

na dokładkę Próbowałem też 9050 & 9051 jako numery portów, ale to nie pomogło

przeglądarka Tor działa, więc sądzę, że mój kod powinien działa również. jak ustawić proxy, aby korzystać z Tora.

BTW, „8118” to z pamięci, nie mogłem znaleźć żadnej dokumentacji, do którego portu należy użyć jako pełnomocnika

może mój tor jest ustawiony na coś innego?

dzięki milion!

EDIT

dotyczące Privoxy:

w przeszłości (około rok temu lub więcej) i wystarczy pobrać Tora, a następnie dodano 8118 jako serwer proxy i wszystko działało. teraz tak nie jest. może coś się zmieniło?

więc pobrałem teraz privoxy zgodnie z sugestią CodeCastera, teraz gdy działają oba programy i privoxy, to żądania działają, ale, obawiam się, że nie korzystają z proxy, ponieważ odpowiedzi wracają, jak im są rozpoznawane przez Serwer

czy wiesz, dlaczego w przeszłości nie musiałem pobierać wersji prywatnej, a teraz trzeba ją pobrać i włączyć?

dziękuję

EDIT # 2:Testowanie

zrobiłem teraz prosta funkcja testu tak:

Function ExternalIP(Optional Proxy As Integer? = Nothing) As String 
     Dim webClient = New WebClient 
     webClient.Headers.Add("Cache-Control", "max-age=0") 
     If Proxy.HasValue Then webClient.Proxy = New WebProxy("127.0.0.1", Proxy.Value) 
     Dim ip = webClient.DownloadString("http://myip.ozymo.com/") 
     webClient.Dispose() 
     Return ip 
    End Function 

gdy stosowany bez przechodzenia proxy, i wrócić moje regularne prawdziwe IP. tej pory tak dobrze

gdy używam 8118 jako serwer proxy, to zależy:

jeśli privoxy pracuje Potem wrócić moje regularne IP (zamiast fałszywej jeden, który pojawia się w przeglądarce Tor). co sprawia, że ​​całość bezsensowną

jeśli jej nie działa wtedy otrzymuję powyższy błąd No connection could be made because the target machine actively refused it 127.0.0.1:8118

tylko podsumowaniem, w przeszłości ive stosowany sam (plus Vidalia) Tora bez Privoxy lub coś podobnego, i to działało dobrze.

dziękuję

+0

klasie WebProxy jest za pomocą serwera proxy HTTP. Jak mogę się dowiedzieć, klient TOR ujawnia się jako proxy SOCKS, dla którego nie ma wsparcia w .NET Framework. Jak widać [tutaj] (http://stackoverflow.com/questions/1962483/c-sharp-using-tor-as-proxy?rq=1) musisz skonfigurować coś, co nazywa się privoxy. Znalazłem to bez wiedzy SOCKS lub TOR. Proszę spróbować samemu pokazać wysiłek badawczy. – CodeCaster

+0

Cześć dzięki. przeczytaj moją edycję. Nie jestem tak dobrze zorientowany w pełnomocnictwach. –

Odpowiedz

3

@ odpowiedź junior mayhe „s zrobił to za mnie tutaj

using Tor as Proxy

tylko w przypadku ktokolwiek inny potyka całej tej kwestii w przyszłości ...

junior-mayhe: jeśli widzisz to, czy możesz tu odpowiedzieć, więc mogę trochę poprawić mój przedstawiciel? dzięki :-)

0

należy użyć kodu poniżej, aby uzyskać domyślnego serwera proxy i przypisać ją myRequest przedmiot.

WebProxy proxy = (WebProxy) WebProxy.GetDefaultProxy(); 

    // See what proxy is used for resource. 
    Uri resourceProxy = proxy.GetProxy(resource); 

    // Test to see whether a proxy was selected. 
    if (resourceProxy == resource) 
    { 
     Console.WriteLine("No proxy for {0}", resource); 
    } 
    else 
    { 
     Console.WriteLine("Proxy for {0} is {1}", resource.ToString(), 
      resourceProxy.ToString()); 
    } 

Źródło: http://msdn.microsoft.com/en-us/library/system.net.webproxy.getdefaultproxy.aspx

+0

tor nie jest moim domyślnym proxy. potrzebuję go tylko do określonych zadań. dzięki –

0

będę sugerować opcję, która mi odpowiadało: można użyć Tor.NET bibliotekę