7
votes

Httparty avec proxy

Je suis sur Heroku essayant d'accéder à une API qui nécessite que mes applications IP soit blanchissante. Donc, j'ai utilisé le proximo add-on Heroku pour obtenir host / adresse IP pour le whitelist de l'API.

Un test rapide que j'ai mis en place pour tester la connectivité à l'aide de HTTParty échoue. P>

class FakeRequest
 include HTTParty
 http_proxy 'XX.XXX.XX.XX', 80, 'user', 'pass'


 def set_defaults
   {:api_key=>"BLARG_BLARG",
    :login_name=>"user",
    :method => "do_something",
    :response_format => "json", 
    :v => "1.0",
    :login_password=>"pass"}
end


 def make_post
  HTTParty.post "https://test.com", :query => set_defaults 
 end
end 


0 commentaires

7 Réponses :


3
votes

Ceci est le module que j'ai construit pour faire juste ceci: xxx

Ceci utilise l'URL proximo telle qu'elle est ajoutée à votre application Heroku lorsque vous installez l'addon. Vous pouvez donc laisser tomber ce fichier dans votre application et inclure proximoparty dans votre classe Fakerequest au lieu de httparty et il devrait "travailler" ".

On dirait que mon code fait la même chose La chose que votre code fait cependant, alors ce que je devine, c'est que vous ne pouvez peut-être pas transporter manuellement les informations d'identification correctement pour proximo.

J'ai couru dans un problème similaire où il ne travaillait pas tout à fait pour moi dès le départ. Je crois que le problème était que je me faisais trébuché qu'il semblait y avoir un "proxy:" Protocole de l'URL de Proximo, mais qui n'était que la partie nom d'utilisateur de l'URL.

Quoi qu'il en soit, cette mai ou mai Pas d'aide, mais s'il vous plaît laissez-moi savoir si cela fait!


3 commentaires

Merci JakeonRails! Je suis passé au client de repos et suis allé sous httparty to net :: http to nice. À la fin, et beaucoup d'heures plus tard, ont décidé d'installer Squid sur une boîte que nous avons et le problème est résolu.


Si je reçois une chance, je vais donner votre module un coup, mais en mode crunch maintenant.


Cela ne fonctionne tout simplement pas. Ive effectivement n'a jamais été en mesure de faire travailler httparty avec un proxy. Fini par utiliser le client de repos.



-1
votes

Je pense que vous devez appeler le local httparty, comme celui-ci:

def make_post
  self.post "https://test.com", :query => set_defaults 
end


0 commentaires

1
votes

Lorsque vous configurez httparty comme une inclusion dans votre module, vous devez appeler la méthode httparty via votre classe, donc: xxx


0 commentaires

3
votes

HTTParty peut utiliser une adresse de serveur proxy en utilisant les options de proxy < / a>. xxx


0 commentaires

0
votes

J'ai inclus un lien car il inclut de longues étapes de configuration. Mais point prélevé sur le lien changeant et la page devient invalide. Nous avons utilisé le serveur proxy Squid sur un ami EC2 et l'a appelé une journée.


0 commentaires

3
votes

Il souffle mon esprit combien de réponses vous pouvez obtenir sur cette question qui ne fonctionnent pas. Voici comment je l'ai fait fonctionner:

HTTParty::Basement.http_proxy('localhost', 8000, nil, nil)


0 commentaires