Schrift
[thread]7472[/thread]

Problem mit SSL-Verbindung

Leser: 2


<< >> 9 Einträge, 1 Seite
Gast Gast
 2005-11-15 00:25
#60164 #60164
Hi liebe Community ich hab da eine Frage an euch. Ich versuche ueber Perl eine SSL-Verbindung zu einem Webserver zu machen. Die Verbindung klappt auch wunderbar, kann mir mit Hilfe des Net::SSLeay Modules auch die Seiten anzeigen lassen. Nun versuchen ich eine andere Seite abzurufen, dies scheitert alllerdings. Diese Seite befindet sich auf dem gleichen Server und verwendet das selbe Zertifikat, also sollte die Verbindung an sich stimmen. Ich bekomme auch keine Verbindungsfehler und bekomme vom Server sogar was zurueck, das Problem ist, dass die Seite sozusagen leer ist. Nun hab ich bei cpan in der Docu zu dem Module gelesen, dass es einen 'known bug' gibt, der vllt dieses Problem sein koennte, dass Workaround mit:
Code: (dl )
$Net::SSLeay::slowly = 1;   # Add sleep so broken servers can keep up

funktionier allerdings nicht. Hier mal mein Skript:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
use strict;
use Net::SSLeay;

$Net::SSLeay::trace = 0;
$Net::SSLeay::slowly = 1;

my ($page, $response, %foo) = Net::SSLeay::get_https('IP-adresse', 443, '/ser
vlet/webacc','');
print $page."\n";
print $response."\n";

Die Ausgabe des Skripts:
Code: (dl )
1
2
HTTP/1.1 200 OK
CONTENT-TYPE/text/plain/DATE/Mon, 14 Nov 2005 22:22:03 GMT/SERVER/NetWare-Enterprise-Web-Server/5.1/CONNECTION/close

Sie Variable $page ist also leer und der dargestellte Inhalt ist $response

Vielleicht kann mir ja einer von euch weiterhelfen, ich waere sehr dankbar. Koennte es vielleicht ein Problem mit nem Cookie geben? Wobei ich die Seite aber direkt im Browser ohne Probleme aufrufen kann. Koennte es sein, dass mir der Server eine leere Page zurueckliefert, weil ich das Cookie nicht abspeichere? Wenn ja, wie koennte ich es denn abspeichern?

Vielen Dank! MfG namous
esskar
 2005-11-15 00:46
#60165 #60165
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
wie ist denn die seite des servers?
namous
 2005-11-15 00:55
#60166 #60166
User since
2005-11-15
2 Artikel
BenutzerIn
[default_avatar]
[quote=esskar,14.11.2005, 23:46]wie ist denn die seite des servers?[/quote]
Wie meinst das? Die Seite ist, ja im Skript angegeben, es handelt nich um eine HTML-Seite mit Javascript und einem Formular.
esskar
 2005-11-15 01:12
#60167 #60167
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Code: (dl )
1
2
3
4
use LWP::Simple;

my $page = get 'https://xxx.xx.xxx.xx/servlet/webacc';
print $page;


hab es mit deiner Adresse (die du mir geschickt hast) getestet. Geht einfach.
renee
 2005-11-15 01:42
#60168 #60168
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du openSSL installiert?? Dazu muesste eigentlich was in der Doku zu CPAN:Net::SSLeay stehen...
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/
namous
 2005-11-15 09:04
#60169 #60169
User since
2005-11-15
2 Artikel
BenutzerIn
[default_avatar]
[quote=esskar,15.11.2005, 00:12]
Code: (dl )
1
2
3
4
use LWP::Simple;

my $page = get 'https://xxx.xx.xxx.xx/servlet/webacc';
print $page;


hab es mit deiner Adresse (die du mir geschickt hast) getestet. Geht einfach.[/quote]
Hmm danke, hab vergessen was zu erwaehnen, ich will die Seite eigentlich ueber ein POST abrufen, weil ich Werte eines Formular uebergeben will. Nun hab ich mir das LWP::Simple angeschaut, dies kann aber nur GET so wie ich das sehe. Sorry haette ich voher erwaehnen sollen.

Quote
Hast Du openSSL installiert?? Dazu muesste eigentlich was in der Doku zu CPAN: Net::SSLeay stehen...

Nein hab ich nicht (extra) installiert, finde aber in der Docu nichts, dass es zusaetzlich installiert werden muss. Ausserdem kann ich ja manche Seiten ueber eine SSL-Verbindung abrufen. Die Grundfunktion geht also. Vielen Dank fuer eure muehe.

Vielleicht koennte es allgemein an dem POST und GET liegen, weil die Seite die ich abrufen kann, hole ich auch mittles GET. Die Seite die nicht geht hole ich mittels POST, vielleicht ist das der Fehler. Die Seite muss aber generell ueber POST erreichbar sein, da sie ein Formular (method="post") enthaelt, welches als action sich selbst hat.
renee
 2005-11-15 09:11
#60170 #60170
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dann solltest Du Dir mal CPAN:HTTP::UserAgent, CPAN:HTTP::Request und CPAN:WWW::Mechanize anschauen...

Wenn Du andere SSL-Seiten abrufen kannst, dann wirst Du wohl openSSL installiert haben...
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/
renee
 2005-11-15 09:13
#60171 #60171
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Deswegen fragte ich nach openSSL: http://search.cpan.org/src/GAAS/libwww-perl-5.803/README.SSL
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/
esskar
 2005-11-15 12:53
#60172 #60172
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
beispiel:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 Create a user agent object
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent("MyApp/0.1 ");

# Create a request
my $req = HTTP::Request->new(POST => 'http://search.cpan.org/search');
$req->content_type('application/x-www-form-urlencoded');
$req->content('query=libwww-perl&mode=dist');

# Pass request to the user agent and get a response back
my $res = $ua->request($req);

# Check the outcome of the response
if ($res->is_success) {
print $res->content;
}
else {
print $res->status_line, "\n";
}
<< >> 9 Einträge, 1 Seite



View all threads created 2005-11-15 00:25.