2011-03-06 2 views
6

Je travaille avec Erlang et j'ai besoin de faire des requêtes HTTP efficaces.Client HTTP Erlang: inets or ibrowse or ...?

Quel est le client HTTP "standard" actuel pour Erlang/OTP?

Est-ce que c'est des inets ou ibrowse ou quelque chose d'autre entièrement?

Tout conseil ou pointeur apprécié.

Répondre

7

Nous utilisons lhttpc, qui fonctionne bien pour nos cas d'utilisation, mais nous n'avons pas fait beaucoup repères des alternatives. La "norme" est, bien sûr, celle qui est fournie avec OTP (httpc from inets).

+2

ouais, lhttpc est tout à fait décent. Nous le trouvons évolutif sur multicore. La meilleure chose est, il est tout à fait nouveau et petit - facile à tracer, aucune fuite de mémoire etc. Je ne sais pas ibrowse, mais j'ai fini avec httpc. – user425720

+0

inets semble avoir eu beaucoup d'amour dans les versions récentes d'OTP et a un support pour un tas de choses non incluses dans lttpc. –

-1

Si ma mémoire est bonne, inets est le serveur HTTP intégré d'OTP, donc il est plus ou moins "standard". En pratique, cependant, je ne pense pas qu'il a préféré sur d'autres serveurs HTTP (mochiweb, pian, etc.)

+0

La question concerne les requêtes http, pas les réponses, donc les serveurs ne sont pas pertinents. –

+0

Il a également spécifiquement demandé sur les inets, donc pas besoin de la downmark – Alfamale

0

Actuellement, un client FTP et un client et serveur HTTP ont été incorporés dans Inets. Inets est juste un serveur web. Certains des clients Http dans Inets sont Inets Http (d) qui est une implémentation de Http 1.1.

J'ai déjà utilisé ibrowse, c'est un client http 1.1. Vous pouvez utiliser ibrowse pour faire des requêtes http. ouvrez votre terminal Erlang et démarrez ibrowse, mais assurez-vous d'avoir le dossier ibrowse dans votre dossier Erlang lib sur C: \ Program Files \ Erlang \ lib. Dans votre type de terminal Erlang.

ibrowse: start(). puis, faites les demandes http comme. iewelink: send_req ("http://ajax.googleapis.com/ajax/services/search/web?v=1.0 & q = animal", [], obtenir).