Schrift
[thread]9919[/thread]

LWP::UserAgent und methode post

Leser: 2


<< >> 5 Einträge, 1 Seite
xeroxed_yeti
 2007-08-01 19:07
#97150 #97150
User since
2007-07-19
12 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen.

Ich würde gerne mit Hilfe eines Perlscripts mehrere Werte nach und nach an eine Internetseite übergeben und diese nachdem sie dort prozessiert wurden, bearbeiten.

Die URL der Seite ist http://www.genebee.msu.su/services/malign_reduced.... und supported die Methode 'post'.

Code: (dl )
1
2
3
4
5
6
7
form METHOD="POST" ACTION="/cgi-bin/nph-malign.pl">
<input type="hidden"
.....
.....
<tr>
<td><textarea NAME="SEQ" ROWS="5" COLS="80"></textarea></td>
</tr>


Die Textarea ist für mich der spannende Teil, hier übergebe ich mehrere Strings. Um das ganze mal auszuprobieren könnt ihr folgende Eingabe verwenden:
Code: (dl )
1
2
3
4
>Prot1
QAFAYQLSNGIPIESWFMDKNDNELLKLIPFLEKLVELNEDVRPHIRDRFRLHDLLPPD
>Prot2
MRLRTRKASQ


Mein Script soll nun hingehen und diese Eingabe an die Webpage übermitteln, den Submit-Button drücken und das Ergebnis in $content ablegen. Aber leider steht bei mir in $content lediglich der Quellcode der Ausgangsseite, also von http://www.genebee.msu.su/services/malign_reduced.....
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl -w

use strict;
use warnings;
use LWP;

my $htmlInput = ">Prot1\nQAFAYQLSNGIPIESWFMDKNDNELLKLIPFLEKLVELNEDVRPHIRDRFRLHDLLPPD\n
>Prot2\nMRLRTRKASQ\n";

my $browser = LWP::UserAgent->new(timeout => 0);
$browser->env_proxy;
my $contnent = $browser->post('http://www.genebee.msu.su/services/malign_reduced.html', ["SEQ" => $htmlInput]);
print $content->content;


Kann mir wer sagen, wo mein Fehler leigt? Bzw welches Modul würdet ihr für diese Aufgabe verwenden?

Danke Markus
RPerl
 2007-08-01 19:32
#97152 #97152
User since
2006-11-26
384 Artikel
BenutzerIn

user image
Zum einen ein Schreibfehler.

Code (perl): (dl )
 my $contnent


muesste heissen:

Code (perl): (dl )
 my $content



.. weil es spaeter heisst:

print $content->content;
renee
 2007-08-02 00:04
#97184 #97184
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Der Post-Request muss auch an das Skript gehen, nicht an das HTML-Formular...

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl -w

use strict;
use warnings;
use LWP;

my $htmlInput = ">Prot1\nQAFAYQLSNGIPIESWFMDKNDNELLKLIPFLEKLVELNEDVRPHIRDRFRLHDLLPPD\n
>Prot2\nMRLRTRKASQ\n";

my $browser = LWP::UserAgent->new(timeout => 0);
$browser->env_proxy;
my $content = $browser->post('http://www.genebee.msu.su/cgi-bin/nph-malign.pl', ["SEQ" => $htmlInput]);
print $content->content;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
xeroxed_yeti
 2007-08-02 11:23
#97209 #97209
User since
2007-07-19
12 Artikel
BenutzerIn
[default_avatar]
Vielen Dank renee,

ich hatte zuvor immer WWW::Mechanize genutzt und da hat das Modul selbste den 'submit-button' gedrückt. Ich hab wohl noch zuviel in dessen Nutzung gesteckt.

Auf jeden Fall funktioniert das Script nun!

noch mal Danke!
xeroxed_yeti
 2007-08-02 12:17
#97232 #97232
User since
2007-07-19
12 Artikel
BenutzerIn
[default_avatar]
Muss mich leider noch mal zu Wort melden...

hmm wobei ich aber denke, dass das Problem auf Seiten des Servers liegt, bzw des Scriptes.

Wenn man die Webpage http://www.genebee.msu.su/services/malign_reduced.... mit folgenden Werten füttert und den Query abschickt bekommt man eine lange Ausgabe mit sehr viel Info.
Code: (dl )
1
2
3
4
>ENSP00000260327 [Homo sapiens]
MRLRTRKASQQSNQIQTQRTARAKRKYSEVDDSLPSGGblabla
>ENSXETP00000017145 [Xenpus tropicalis]
MRLRTRKGSPRSSHGAAGRTARCKRKHSEEDEEEESQblabla


Wenn ich aber das Script starten lasse vermisse ich den für mich spannenden Teil in $content->content!

Hier ist ein kleiner Auszug des Inhaltes der in $content->content steckt.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
T   11  8 10 10  7 10  9 10 10  8  9 10 10  9  9 11 13
V 10 8 8 8 9 9 8 14 8 12 12 8 9 8 8 9 10 14
W 4 2 3 3 10 3 7 5 7 8 6 6 4 5 12 8 5 4 27
Y 7 10 6 6 17 5 10 9 6 9 8 8 5 6 6 7 7 8 10 20
</pre><BR>
</TR><P>
<TABLE>
<TR VALIGN=top>
<TD><B>Sequences</B></TD> <TD><br><pre>>ENSP00000260327 [Homo sapiens]
MRLRTRKASQQSNQIQTQRTARAKRKYSEVDDSblabla
>ENSXETP00000017145 [Xenpus tropicalis]
MRLRTRKGSPRSSHGAAGRTARCKRKHSEEDEEblabla
</pre></TD>
</TR><P>
</TABLE><HR>
<pre>


<pre>
<HR>

</pre>
</pre>


#######################################
# HIER FEHLT NUN JEDE MENGE INHALT #
#######################################


<center> <table align=center border=0 cellpadding=4> <tr>

in dem HTML Code fehlt an der markierten Stelle jede Menge Text.
Warum und was hat es damit auf sich?
<< >> 5 Einträge, 1 Seite



View all threads created 2007-08-01 19:07.