Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Can't get '+' character to appear in a POST request.

by oldwarrior32 (Sexton)
on Apr 22, 2013 at 22:39 UTC ( #1029990=perlquestion: print w/ replies, xml ) Need Help??
oldwarrior32 has asked for the wisdom of the Perl Monks concerning the following question:

Hello Monks. I apologize to ask such simple question for you.

I have the following script section:

$response = $session->post('http://92.0.7.11/reports/GenerateReports.d +o?reportID=91', Content => [vmReportType=>'', deviceId=>'', perVM=>'', category=>'0', bview=>'All', showType=>'1', top=>'10', time=>'custom', timeWindow=>'0-24', startTime=>'2013-04-21', startHour=>'19', endTime=>'2013-04-22', endHour=>'7', show=>'Show+Report']);

The problem is with the line 'show=>'Show+Report'. I made a packet capture using Wireshark, when I make a request from a webpage. In the packet capture I see the line 'Show+Report', as the parameter for the 'show' variable. However, when I simulate the request using the LWP::UserAgent module, and with the code above, I see the line changed: 'Show%2BReport'.

I want to send the '+' sign as is. I tried escaping with URI::Escape, but doesn't work

my $plus = '%2B'; show=>'Show'.uri_escape($plus).'Report'

OR:

my $plus = '+'; show=>'Show'.uri_escape($plus).'Report'

I tried with the uri_unescape function either with no luck

The change above gives me more hexadecimal characters

How do I escape the plus sign, inside a Post request using LWP::UserAgent?

Thanks for any help!

Comment on Can't get '+' character to appear in a POST request.
Select or Download Code
Replies are listed 'Best First'.
Re: Can't get '+' character to appear in a POST request.
by Anonymous Monk on Apr 23, 2013 at 01:50 UTC

    I want to send the '+' sign as is.

    No you don't, you want a space

    One way to encode space is as +, another way is as %20

      Thanks! I just put an space, instead of the plus sign in the code, and now I see the plus sign in the packet capture.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1029990]
Approved by kcott
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (13)
As of 2015-07-30 21:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (273 votes), past polls