Schrift
[thread]8585[/thread]

HTTP Post Request & split();

Leser: 1


<< >> 3 Einträge, 1 Seite
Gast Gast
 2006-12-14 18:52
#72562 #72562
Hi,

Ich habe zwei Probleme, und zwar erstens möchte ich einen POST Request nach rapidshare.com senden, und die Ausgabe bekommen,
doch leider funktioniert das nicht alles so wie es soll, ich hoffe ihr könnt mir helfen.

Hier Code:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
use HTTP::Request::Common;
use LWP::UserAgent;

my $ua = LWP::UserAgent->new;

my $response = $ua->request(POST "ul29.rapidshare.com", [uri => "/files/7437031/1.txt.html", dl.start => "Free"]);

if ($response->is_success) {
print $response->content;
}
else {
die $response->status_line;
}


Hier der HTML Code von rapidshare.com:

Code: (dl )
1
2
3
<form action="ul29.rapidshare.com" method="post">
<input type="hidden" name="uri" value="/files/7437031/1.txt.html">
<input type="submit" name="dl.start" value="Free">




Zweitens möchte ich wissen, wie man herausfinden kann, wieviele teile gesplittet worden sind:

Code: (dl )
1
2
$bla = "www.google.de/../../";
@bla = split('/',$bla);


Achja, ich habe bei allen Links das HTTP : // entfernt, da ich sonst nicht posten konnte.
PerlProfi
 2006-12-14 19:33
#72563 #72563
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
2. im skalaren Kontext ist @bla die Anzahl der gesplitteten Teile.
Also scalar(@bla) gibt dir das Ergebnis, allerdings wird bei 1 angefangen zu zählen.
Wenn scalar(@bla) < 1 ist, gibt es gar keine Teile.

Ansonsten kannst du auch $#bla nehmen, dabei wird aber von 0 aus angefangen zu zählen.
kleiner 0 heißt keine Teile.

MfG PerlProfi
esskar
 2006-12-14 20:17
#72564 #72564
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
zu 1:

erstmal der reaprierte code
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use strict;
use warnings;

use LWP::UserAgent;

my $ua = LWP::UserAgent->new;

my $response = $ua->post("http://ul29.rapidshare.com", [uri => "/files/7437031/1.txt.html", "dl.start" => "Free"]);

if ($response->is_success) {
print $response->content;
}
else {
die $response->status_line;
}


für sowas nutz ich auch gern CPAN:HTML::Form

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use strict;
use warnings;

use LWP::UserAgent;
use HTML::Form;

my $ua = LWP::UserAgent->new;
my $resp = $ua->get("http://ul29.rapidshare.com");
if( $resp->is_success ) {
my $f = HTML::Form->new( $resp->decoded_content( raise_error => 1 ), $resp->base );
$resp = $ua->request( $f->click );
if ($resp->is_success) {
print $resp->content;
}
else {
die $resp->status_line;
}
}


zu 2: schau dir doch mal noch CPAN:URI an\n\n

<!--EDIT|esskar|1166122220-->
<< >> 3 Einträge, 1 Seite



View all threads created 2006-12-14 18:52.