2010-09-15 20 views
3

Je souhaite partager un lien vers une page, mais le contenu de cette page n'est disponible que depuis la soumission d'un formulaire.Tout proxy comme alternative à URL Shortener pour révéler les résultats de page POST de formulaire?

Voici un exemple: Je veux voir la liste des détaillants en Californie qui vendent des lingots d'or à la Monnaie américaine. Cependant, je dois soumettre le formulaire pour obtenir les résultats: http://www.usmint.gov/mint_programs/american_eagles/index.cfm?action=lookup

Ce que j'aimerais voir est un site intermédiaire qui fonctionne essentiellement comme un agent qui exécute mon formulaire POST. Ainsi, je peux partager mon lien depuis ce site et quiconque clique sur ce lien voit la sortie du formulaire POST (qui a été faite en utilisant l'URL cible et les données de formulaire que j'ai précédemment dit au site post-agent d'utiliser). Donc, cela répond à un besoin similaire aux services de raccourcissement d'URL, où j'ai une URL (par exemple, post-agent.com/ca-bullion) qui peut être affichée sur Twitter, ou Digg ou dans un e-mail même. Cependant, contrairement à un service de raccourcissement d'URL, la page résultante devrait toujours afficher l'URL de l'intermédiaire (par exemple, post-agent.com) en raison de restrictions de sécurité évidentes pour le navigateur.

Ainsi, en utilisant mon exemple ci-dessus, la demande de post-agent.com/ca-bullion répond simplement avec les résultats d'un:

$ lwp-request -m POST www.usmint.gov/mint_programs/american_eagles/index.cfm?action=lookup 
state=CA&submit=GO 
[Ctrl-D] 

Oui, la sortie serait laid (à moins que les liens vers des URL d'image ont été ré-écrit) mais au moins le contenu de la page/données serait un simple clic.

Est-ce que quelque chose comme ça existe?

Si non, devrait-il?

Répondre

0

Idée très intéressante. De la façon dont vous le décrivez, le service devrait agir comme une sorte de mandataire.

Il y a des problèmes avec ceci, par exemple si le résultat de la requête POST définit des cookies. En outre, l'origine de la requête sera le serveur "proxy", pas l'adresse IP de l'utilisateur. Le service devrait également traverser d'énormes quantités de trafic.

Une implémentation plus viable de ceci pourrait fournir une page avec un formulaire. Le formulaire aurait method="POST" et les variables de l'URL prédéfinies. Le formulaire serait soumis soit automatiquement par Javascript (le rendant presque invisible à l'utilisateur) ou manuellement.

Tous les services ne fonctionneraient pas avec la méthode, car il faudrait s'attendre à ce que certains sites utilisent des jetons ponctuels dans les formulaires et autres vérifications pour éviter cross-site request forgery. Mais pour des services simples comme celui que vous montrez, cela pourrait bien fonctionner.

Je vois des difficultés à rendre ceci facilement utilisable pour les utilisateurs finaux. Comment obtiendraient-ils leur demande POST dans votre formulaire sans inspecter le site Web affiché en utilisant un outil de navigateur?