2010-06-05 8 views
1

Est-il possible de rediriger les résultats d'une application Web vers une deuxième application? Je ne peux pas analyser la source html. Il contient les fonctions javascript qui exécutent les requêtes mais tout le contenu est probablement côté serveur.rediriger les résultats de l'application Web vers sa propre application

J'espère que cela a du sens. Le propriétaire a rendu le script disponible mais je ne suis pas sûr de savoir comment cela peut vous aider. Puis-je utiliser .net appeler le site et rediriger les résultats peut-être vers un fichier ou une base de données?

l'application accède à l'un des google-apis et effectue des recherches/requêtes et renvoie les résultats qui sont affichés sur le site. Maintenant, toutes les fonctions javascript qui effectuent ces requêtes sont listées dans la source mais je ne connais pas javascript donc ça n'a pas beaucoup de sens pour moi. J'ai utilisé la documentation qui utilise le protocole oauth pour accéder à l'API et l'ai implémenté dans mon application web mais il m'a fallu près d'une semaine pour obtenir le jeton de requête et envoyer des requêtes à l'API. en arrière et parfois aucun. C'est frustrant pour moi et le propriétaire de l'application web a utilisé son script, mais il dit que tout ce qui se passe est que mon navigateur interagit avec l'API Google et non avec son serveur.

J'ai donc pensé pourquoi ne pas appeler mon application web, car il interagit parfaitement avec l'API et envoie les résultats à mon application pour les enregistrer dans une base de données.

J'ai très peu d'expérience ici, donc pardonnez mon ignorance

+0

Cela ne fait encore sens. Que voulez-vous dire par redirection? Qu'entendez-vous par résultats? Quel genre de requêtes sont exécutées par Javascript? Quelle est la situation? –

+0

@vbNewbie: pouvez-vous donner un peu de détails sur les environnements, et ce que font les deux applications, ou ce que sont les «résultats»? Êtes-vous dans un intranet, des plates-formes différentes, etc.? Qu'est-ce que la 2ème application prend comme paramètres, et comment retourne-t-elle ses résultats? JSON, HTML, texte en clair? –

Répondre

1

Si vous ne voulez pas apprendre les API Google, vous pouvez charger cette page dans un minimisés inline frame puis saisir les résultats de celui-ci avec JavaScript. Ce sera beaucoup de codage en votre nom, mais c'est faisable. Donc, c'est juste pour mordre la pomme aigre et apprendre le JavaScript. ;)

+0

donc la trame en ligne charge les résultats dans une forme quelque peu extractible? Serai-je capable d'analyser ensuite le xml? Merci beaucoup pour votre réponse. Je commence à regarder en javascript; ne vous dérange pas d'apprendre de nouvelles choses. – vbNewbie

+0

Son JavaScripts génère les résultats en HTML, correct? Si c'est le cas, vous pouvez récupérer les données de sa page (c'est dans l'iframe). Vous auriez besoin de faire beaucoup de codage pour faire cela (essentiellement en analysant sa table de résultats ou tout ce qu'il a utilisé pour construire les résultats), mais comme je l'ai dit ... c'est faisable. Le plus gros problème de faire cela est que votre code va casser s'il change jamais la structure des résultats. Vous feriez mieux d'apprendre les API Google et d'écrire votre propre code, mais je comprends que vous n'êtes pas encore à ce niveau. –

+0

Si vous êtes plus à l'aise pour analyser le code HTML sur votre serveur, vous pouvez envoyer le code HTML généré avec un appel AJAX à votre serveur et l'analyser ici. Mais encore une fois, vous devez écrire quelques JS pour le faire. –

0

Il semble que Application1 doive appeler une URL sur Application2 et faire quelque chose avec les résultats.

Vous pouvez utiliser WebClient:

Public Sub GetUrlContents(URL As String) 'call this method using Application2's URL 

    ' Get HTML data 
    Try 
    Dim fileReader As New WebClient() 
    Dim byteArray As Byte() 
    Dim addr As Uri 
    Dim content As String 

    addr = New Uri("http://www.foo.com/") //use URL in param list instead. 
    byteArray = fileReader.DownloadData(addr) 
    content = System.Text.Encoding.ASCII.GetString(byteArray) 

    'save to file or database instead. 
    Console.WriteLine(content) 

    Catch ex As HttpListenerException 
    Console.WriteLine("Error accessing site " + ex.Message) 
    Catch ex As Exception 
    Console.WriteLine("Error accessing site " + ex.Message) 
End Try 


End Sub 
+0

mais les résultats ne sont pas là quand je regarde dans la source de la page alors comment puis-je obtenir le contenu en utilisant webclient. Quand je regarde la source de la page tout ce qu'il y a, c'est les fonctions javascript. – vbNewbie

Questions connexes