PDA

Afficher la version complète : insérer barre de recherche google



jejelerom
18/11/2005, 23h49
Bonjour,

Je suis en train de faire un navigateur web dans le cadre d'un tp en programmation distribué mais je me heurte a un problème.

J'ai rajouter une barre de recherche google a mon browser mais celui ci ne m'affiche pas le résultat de la recherche.
Je precise que l'affichage de toute les pages web fonctionne, ce qui m'interesse c juste de faire marcher ma bare de recherche.

Voici le code source (une partie lol) pour la barre de recherche

if(source==google_bar && touche==KeyEvent.VK_ENTER) {
try{
String adresse = google_bar.getText(); // JTextField barre d'adresse google
barre_adresse.setT ext("http://www.google.fr/search?hl=fr&q="+adresse);
editor_pane.setPag e(adresse);
}catch(MalformedURLExcepti on m){
System.out.println ("URL Érronnée "+m);
}catch(IOException ioe){
System.out.println ("Erreur IOException "+ioe);
ioe.printStackTrac e();
}catch(Exception ex){
System.out.println ("Erreur Exception "+ex);
}
}
}

et le code erreur qui est récupéré

barre d'adresse google : http://www.google.fr/search?hl=fr&q=lequipe
Erreur IOException java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.google.fr/search?hl=fr&q=lequipe
java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.google.fr/search?hl=fr&q=lequipe
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method) ...........................
y: java.io.IOException: Server returned HTTP response code: 403 for URL: http://www.google.fr/search?hl=fr&q=lequipe
at sun.net.www.protocol.http.HttpURLConnection.getInp utStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
... 26 more

Si je dois faire une recherche avec le mot lequipe, avec l'adresse http://www.google.fr/search?hl=fr&q=lequipe ca marche avec n'importe que quel navigateur style IE ou Firefox http://www.alionet.org/style_emoticons/<#EMO_DIR#>/blink.gif , sauf dans mon navigateur. http://www.alionet.org/style_emoticons/<#EMO_DIR#>/huh.gif

De plus impossible de lancer une recherche a partir de la page google sur mon navigateur ... rien se passe ... un listener peut etre http://www.alionet.org/style_emoticons/<#EMO_DIR#>/unsure.gif oui mais lequel ??? http://www.alionet.org/style_emoticons/<#EMO_DIR#>/dry.gif

D'apres mon prof ce n'est pas une erreur dans le code source alors si quelqu'un a une idée ... n'hésitez pas http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif

P.S : dudule ne me pique pas les conseils pour la barre de recherche google loool http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif http://www.alionet.org/style_emoticons/<#EMO_DIR#>/laugh.gif

offworld
19/11/2005, 00h09
Si ton adresse ne marche pas en la rentrant directement dans ta barre d'url ton probleme ne vien pas de ta barre de recherche.
Essay avec different site, si google ne marche pas il doit y avoir bcp de site qui ne fonctionne pas.

Dudule-le-poisson
19/11/2005, 00h23
P.S : dudule ne me pique pas les conseils pour la barre de recherche google loool http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif http://www.alionet.org/style_emoticons/<#EMO_DIR#>/laugh.gif[/b]

Ma bestiole en gawa gère les onglets et j'ai implanté une recherche Yahoo alors je n'aurai peut-être pas besoin de piquer http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif

De deux choses l'une :
-soit la classe JEditorPane (classe merdique parmi tant d'autres dans Java, oh un troll, qu'il est poilu) gère mal certains URLs pour une raison interne, obscure et sans doute aussi interessante que nos cours de compta...
-soit plus vraisemblablement c'est la faute à google. Comment ça la faute à Google ? d'après l'erreur Java générée, le serveur google renvoie une erreur 403 (càd "tu n'as pas le droit de voir cette page, vil voyou aux mauvaises intentions"). Soyons clairs : retourner cette erreur est une stupidité de la part du serveur Google.
Deuxième élément, que les habitués des longues nuits sur Google auront remarqué, l'URL d'une recherche contient souvent le nom du navigateur en paramètre.
Exemple :
http://www.google.fr/search?q=brah+va+cher...utf-8&oe=utf-8& (http://www.google.fr/search?q=brah+va+chercher&start=0&ie=utf-8&oe=utf-8&)client=firefox-a&rls=org.mozilla:en-US:official
Sachant également qu'il est possible de récupérer les informations sur le navigateur depuis le serveur (on verra ça en PHP, Jéjé http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif ), il n'y a qu'un pas à franchir avant de se dire "Google ne renvoie une page que s'il reconnaît le navigateur" ; à partir de ce moment-là, le problème restera sans solution, à moins de connaître quelqu'un de haut placé chez Google...

offworld
19/11/2005, 01h59
C'est bizzare, moi j'ai ça http://www.google.fr/search?hl=fr&ie=ISO-8...he+Google&meta= (http://www.google.fr/search?hl=fr&ie=ISO-8859-1&q=marecherchej&btnG=Recherche+Google&meta=)
Et je n'envoi pas l'identification du naviguateur.

Dudule-le-poisson
19/11/2005, 02h28
Effectivement, il semblerait que ça soit la barre de recherche Google de Firefox qui ajoute ces arguments ; mais je ne pense pas qu'ils soient inutiles ("tiens, si je rajoutais des arguments inutiles dans mon URL ?") ;-) Je ne vois pas d'explication plus tangible pour l'instant...
J'ai également réfléchi en me disant "c'est peut-être un problème d'interprétation des liens" mais ça ne fonctionne pas non plus quand on le lui donne dans la barre d'adrese :-/

jejelerom
19/11/2005, 10h37
Bon bin dudule c moi qui vais te piquer ta barre de recherche yahoo alors http://www.alionet.org/style_emoticons/<#EMO_DIR#>/tongue.gif http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif

Ta remarque concernant le fait que google cherche a identifier le navigateur me parait pertinente tout de meme http://www.alionet.org/style_emoticons/<#EMO_DIR#>/mad.gif j'connais un peu le php deja lol http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

Sinon effectivement ce n'est pas une erreur de code source ou de barre d'adresse http://www.alionet.org/style_emoticons/<#EMO_DIR#>/cool.gif

D'autres suggestions ???

P.S : tant que ca me permet d'avoir 19.85 de moyenne (comme l'année derniere) ou environ 18 (pour le DS D'éco d'hier) je suis partisan de ces matières ... surtout vu que je ne les bosse jamais beaucoup http://www.alionet.org/style_emoticons/<#EMO_DIR#>/laugh.gif http://www.alionet.org/style_emoticons/<#EMO_DIR#>/laugh.gif

Dudule-le-poisson
19/11/2005, 16h05
Decidemment... perso je n'aurai même pas de quoi compléter ta note pour aller jusqu'à 20 ^^

Pour la barre d'adresse Yahoo, c'est aussi enfantin que pour Google, sauf que ça fonctionne http://www.alionet.org/style_emoticons/<#EMO_DIR#>/biggrin.gif


/*barre yahoo */
final JTextField yahoo = new JTextField();
yahoo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
/* ici tu appelles l'URL "http://search.yahoo.com/search?p="+yahoo.getText() */
((Page)affiche_pag es.getSelectedComponent()).aller("http://search.yahoo.com/search?p="+yahoo.getText());
}
});