2013-05-26 3 views
1

J'essaye d'explorer un site mais j'ai besoin de proxies pour être utilisé afin de ne pas être banni.Comment utiliser les proxies avec OpenURI?

proxies.each do |proxy| 
    proxy.delete '""' 
    break if @doc = Nokogiri::HTML(open(pre, :proxy => proxy)) rescue nil 
end 

J'ai une liste de procurations de travail dans le tableau proxies. pre est l'URL. Je n'ai pas de réponse de ce code, rien. Si je remplace cela avec le code ci-dessous, il fonctionne, mais il a le risque d'une interdiction IP:

doc = Nokogiri::HTML(open(pre)) 

Toute pensée?

+0

Pourriez-vous le tableau 'proxies'? A quoi ça ressemble? –

+0

Je suis sûr qu'il est au format 'ip: port' –

+2

Nokogiri ne se soucie pas des proxies ou de savoir HTTP, donc cette question ne devrait même pas le mentionner. Le problème est avec votre utilisation d'OpenURI. Réduisez votre code d'échantillon jusqu'à ce que Nokogiri soit hors de question et que le problème persiste. Réécrivez votre question pour refléter avec précision le code et le problème à ce moment-là. En l'état, votre question montre simplement que vous ne savez pas comment fonctionne votre code. –

Répondre

1

Le problème se situe quelque part dans la définition de vos proxys. Malheureusement, parce que vous ne nous avez pas montré un exemple complet de votre code, nous ne pouvons pas vous aider.

La définition correcte est documentée: http://www.ruby-doc.org/stdlib-2.0/libdoc/open-uri/rdoc/OpenURI/OpenRead.html

+0

Merci, je vais vérifier la documentation. Et oui, je suis un débutant pour ce genre de travail. J'obtiens les proxies d'un fichier csv, je les formate comme 'ip: port' puis les ajoute à la liste des proxies. Je vais ajouter l'exemple du code dès que possible. –