Schrift
[thread]4391[/thread]

Benutzen von RPC::XML mit einem webproxy



<< >> 7 Einträge, 1 Seite
vayu
 2006-01-16 11:33
#36998 #36998
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!C:\Perl\bin\perl

use strict;
use warnings;

require LWP::UserAgent;
require RPC::XML;
require RPC::XML::Client;

my $ua = LWP::UserAgent->new;
$ua->proxy(['http', 'https'], 'proxyname');
$ua->env_proxy;

my $cli = RPC::XML::Client->new('servername', $ua);
$cli->credentials('servername', 'username', 'password');
my $resp = $cli->send_request('system.listMethods');


Hallo,

ich hoffe jemand von Euch hat damit schonmal Erfahrung gesammelt :)

Ich versuche per RPC-XML auf unser JIRA zuzugreifen. Leider scheiterts schon beim connecten, da ich über einen proxy connecten muss.

eine direkte methode einen proxy anzugeben habe ich nicht gefunden, also dachte ich mir übergebe ich ihm einen LWP::UserAgent mit. Das scheint aber auch nicht zu funktionieren.

Hat jemand eine Idee?

Vielen Dank im voraus,

Vayu
esskar
 2006-01-16 12:08
#36999 #36999
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
hast du das env auch richtig gesetzt? bzw. setzt man den Useragent so gar nicht - zumindest nicht laut doku!
versuch mal so:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!C:\Perl\bin\perl

use strict;
use warnings;

require RPC::XML;
require RPC::XML::Client;

my $cli = RPC::XML::Client->new('servername');
my $ua = $cli->useragent;
$ua->proxy(['http', 'https'], 'proxyname');
$ua->env_proxy;

$cli->credentials('servername', 'username', 'password');
my $resp = $cli->send_request('system.listMethods');
\n\n

<!--EDIT|esskar|1137406164-->
vayu
 2006-01-16 12:28
#37000 #37000
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
in der doku kann man aber wohl auch nen $ua als parameter beim new mit übergeben, habe ich zumindest so verstanden.

ich probier es mal mit deiner lösung


edit: ok so funktioniert es. Dank Dir.\n\n

<!--EDIT|vayu|1137407446-->
esskar
 2006-01-16 12:29
#37001 #37001
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Quote
The following methods are available:

new (URI [, ARGS])
Creates a new client object that will route its requests to the URL provided. The constructor creates a HTTP::Request object and a LWP::UserAgent object, which are stored on the client object. When requests are made, these objects are ready to go, with the headers set appropriately. The return value of this method is a reference to the new object. The URI argument may be a string or an object from the URI class from CPAN.

Any additional arguments are treated as key-value pairs.Most are attached to the object itself without change. The following are recognized by new and treated specially:

...

useragent
This is similar to the parser argument above, and also expects an array reference to follow it. The contents are passed to the constructor of the LWP::UserAgent class when creating that component of the client object. See the manual page for LWP::UserAgent for supported values.

...
vayu
 2006-01-16 12:31
#37002 #37002
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
args, ok habe ich verpeilt.

aber andersrum funktionierts jetzt ja :)

muchas gracias
vayu
 2006-01-16 15:49
#37003 #37003
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
Habe mich geirrt, es funktioniert noch nicht.

Quote
Error: RPC::XML::Client::send_request: HTTP server error: Can't read entity body: Unknown error


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
#!/usr/bin/perl

use strict;
use warnings;
use Term::ReadKey;

require RPC::XML;
require RPC::XML::Client;

my @logindata;

print "username:\n";
$logindata[0] = ReadLine(0);
ReadMode('noecho');
print "password:\n";
$logindata[1] = ReadLine(0);

my $cli = RPC::XML::Client->new('https://servername/rpc/xmlrpc');
my $ua = $cli->useragent;
$ua->proxy(['https'], 'proxyserver');
my $resp = $cli->send_request('login', $logindata[0], $logindata[1]);

print ref $resp ? join(', ', @{$resp->value}) : "Error: $resp";

exit 0;


tjo ... hat jemand eine ahnung woran das liegen könnte? die fehlermeldungen sagen mir irgendwie nicht viel :(\n\n

<!--EDIT|vayu|1137421399-->
vayu
 2006-01-16 18:33
#37004 #37004
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
ok, scheint irgendwie ein problem mit unserm proxy zu sein. IT hält sich bedeckt ^^ mal schaun, ob wir das noch hinbekommen ...
<< >> 7 Einträge, 1 Seite



View all threads created 2006-01-16 11:33.