Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Escape user name and password in LWP proxy call.

by kcott (Archbishop)
on Oct 14, 2021 at 12:52 UTC ( [id://11137507]=note: print w/replies, xml ) Need Help??


in reply to Escape user name and password in LWP proxy call.

This is vague and contradictory. Please read "How do I post a question effectively?" and "SSCCE". Most of what follows is pure guesswork in terms of what you actually need.

Use of non-interpolating quotes would normally suffice:

$ perl -Mstrict -Mwarnings -E 'my ($u, $p) = (q{W$X}, q{Y@Z}); say for + $u, $p' W$X Y@Z

Use of interpolating quotes would normally cause problems:

$ perl -Mstrict -Mwarnings -E 'my ($u, $p) = (qq{W$X}, qq{Y@Z}); say f +or $u, $p' Possible unintended interpolation of @Z in string at -e line 1. Global symbol "$X" requires explicit package name (did you forget to d +eclare "my $X"?) at -e line 1. Global symbol "@Z" requires explicit package name (did you forget to d +eclare "my @Z"?) at -e line 1. Execution of -e aborted due to compilation errors.

See also quotemeta.

What you wrote about the "URI::escape" and (later) "uri_escape" doesn't make much sense. URI has neither an escape() function nor a uri_escape() function; URI::Escape has the latter. Even my best guess at fixing typos doesn't help:

$ perl -Mstrict -Mwarnings -E 'use URI::Escape; my ($u, $p) = (q{W$X}, + q{Y@Z}); say for uri_escape($u), uri_escape($p)' W%24X Y%40Z

We'll need some clarification on what you're actually doing here.

— Ken

Replies are listed 'Best First'.
Re^2: Escape user name and password in LWP proxy call.
by Anonymous Monk on Oct 14, 2021 at 15:30 UTC

    Thank you for revert.
    Below is what I tried to do, but didn't work, yes that was typo, i meant URI::Escape
    Is it because i tried escaping IP too, do i really need to escape ip address.

    ##proxy authentication $PROXY_USER = uri_escape($PROXY_USER); $PROXY_PASSWD = uri_escape($PROXY_PASSWD); $PROXY_IP = uri_escape($PROXY_IP); my $proxy_url = "${PROXY_USER}:${PROXY_PASSWD}"."\@${PROXY_IP}:${PROXY +_PORT}"; ### oh, just realized, looks like forgot to add "http://" +. here before proxy user that's why it failed, can you just confirm t +he same. $ua->proxy(https => "$proxy_url");
    Thank you

      UPDATE: uri_escape, doesn't seem escaping (\) in username.

        Sure it is:

        use strict; use warnings; use URI::Escape; use Test::More tests => 2; my $foo = 'a\b'; my $have = uri_escape ($foo); my $want = 'a%5Cb'; isnt $have, $foo; is $have, $want;

        🦛

      A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11137507]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (2)
As of 2024-04-25 07:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found