atreiju: Session-ID auf Webseite

Schaut euch bitte mal diese Such-Seite an: www.b2i.de

Ich würde jetzt gerne von einer selbstgebastelten Suchseite aus eine Suche dort direkt starten. Also so, wie einen der Link www.google.de/search?q=test eine Google-Suche startet. Dazu habe ich einfach mal "test" eingegeben und mir die URL angeschaut, die dabei entsteht:

https://www.b2i.de/metaopac/search.do;jsessionid=44FF1967AE6B4FDCE43A3B99D6A6EDF6?methodToCall=submitButtonCall&CSId=6150N307S5c58474e6c4ab1a35af9e15a1768e1997f24eebd&methodToCallParameter=submitSearch&refine=false&searchCategories[0]=-1&speedy=on&searchString[0]=test&submitButtonCall_submitSearch=Suchen&searchRestrictionValue1[0]=&searchRestrictionID[0]=8&searchRestrictionValue2[0]=&numberOfHits=10&timeOut=20&rememberList=-1&considerSearchRestriction=2&dbSelection[0]=150&dbSelection[1]=45&dbSelection[3]=46&dbSelection[4]=137&dbSelection[5]=47&dbSelection[6]=49&dbSelection[7]=48&dbSelection[8]=50&dbSelection[9]=51&dbSelection[10]=52&dbSelection[11]=53&dbSelection[12]=54&dbSelection[13]=55&dbSelection[14]=56&dbSelection[15]=57&dbSelection[16]=58&dbSelection[17]=59&dbSelection[18]=60&dbSelection[19]=92&dbSelection[20]=61&dbSelection[21]=62&dbSelection[22]=63&dbSelection[23]=&dbSelection[24]=151&dbSelection[25]=65&dbSelection[26]=66&dbSelection[27]=67&dbSelection[28]=68&dbSelection[29]=69&dbSelection[30]=70&dbSelection[31]=165

Dabei habe ich gefunden:

searchString[0]=test

"test" habe ich dann mit meiner Javascript-Variablen ersetzt und durch Aufruf der langen URL abgesendet.

Das ging eine Weile gut, bis: "Ihre Session ID ist abgelaufen. Neu laden." => Es wird eine Session ID generiert, die nur eine zeitlang gültig ist.

Gibt es trotzdem eine Möglichkeit, die Suche von meiner Webseite aus anzustoßen, so dass sie immer funktioniert? Am liebsten nur mittels JS, notfalls auch PHP.

Danke & Grüße, Atreiju.

  1. Ich habe mir das mal eben angesehen, und es nicht zu machen, wie du es dir vorstellst. Die Websoftware ist so beschissen programmiert, dass JavaScript sowie die Nutzung einer gültigen Session verpflichtend sind. Ich würde es so ähnlich lösen (keine Zeit zum Durchtesten):

      
    use WWW::Scripter ();  
      
    # declare additional runtime dependencies  
    use WWW::Scripter::Plugin::JavaScript ();  
    use LWP::Protocol::https ();  
      
    my $w = WWW::Scripter->new;  
    $w->use_plugin('JavaScript');  
      
    $w->get('https://www.b2i.de/metaopac/start.do?BaseURL=http://www.b2i.de/metaopac/start.do%3fView=b2i&View=b2i');  
    $w->submit_form(with_fields => { 'searchString[0]' => 'test' });  
    
    

    Danach kannst du dir mit z.B. jQuery die benötigten Infos rausziehen.

      
    $w->eval(q[  
        jQuery('.titledata').each(function(i,e){  
            alert( jQuery(e).text().trim() )  
        })  
    ]);  
    
    
    1. Ich nenn mich gleich "Vier Minuten Baba". Bin heute immer zu langsam.
      Bitte mal um Versuch meiner URL im Vorpost. Wenn ich die in einem neuen Browser, mit dem ich noch nicht auf der Seite war (Opera, Standard ist sonst FF) eingebe, kommt die Ergebnisliste...
      Cheers,
      Baba

  2. Ich würde jetzt gerne von einer selbstgebastelten Suchseite aus eine Suche dort direkt starten. Also so, wie einen der Link www.google.de/search?q=test eine Google-Suche startet.

    Warum nicht einfach:

    https://www.b2i.de/metaopac/search?View=b2i&query=test

    Ähh, weiß aber nicht, was die davon halten...

    Cheers,
    Baba