Как подключиться к Tor используя Golang и Colly?

Возникла необходимость распарсить html-страницу .onion при помощи языка Go. Для реализации был взят фреймворк для скрапинга Colly, но для подключения к тору необходим прокси. В Colly есть соответствующая функция (SetProxyFunc()). По какой-то непонятной причине ни один из подбираемых адресов сервера (включая proxy самого тора на 127.0.0.1:9050) не позволяет подключиться к нужному ресурсу (вылезает то таймаут, то приходит eof вместо кода, то вообще непонятная ошибка nor Implement). Подскажите, пожалуйста, какое решение может быть у этой проблемы? Прилагаю скрины функции настройки прокси, функции парсинга и нескольких ошибок.

Функция установки proxy:
func SetLocalProxy(c *colly.Collector) {
    rp, err := proxy.RoundRobinProxySwitcher("http://203.28.8.37:80")
    if err != nil {
        log.Fatal(err)
    }
    c.SetProxyFunc(rp)
}


Функция парсинга:
func Parsing(){
    c := colly.NewCollector(colly.AllowURLRevisit())
    c.SetRequestTimeout(0)
    SetLocalProxy(c)
    var leakDB string = "someURL"
    c.OnHTML("a[href]", func(e *colly.HTMLElement) {
        fmt.Println(e)
    })
    c.OnError(func(r *colly.Response, err error) {
        fmt.Println("Request URL:", r.Request.URL, "failed with response:", r, "\nError:", err)
    })
    err := c.Visit(leakDB)
    if err != nil {
        return
    }
}
  • Вопрос задан
  • 459 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
ТОР это Сокс5

твоя шняга поддерживает
https://github.com/gocolly/colly/blob/master/proxy...

меняй код
proxy.RoundRobinProxySwitcher("http://203.28.8.37:80")
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы