Can an Applet call a Perl script that performs Unix file commands?

Hi,
I would like my applet to move a Unix file from one directory to another. (Both directories and the file are on the same server as the applet).
In my applet I have code that calls (I think) a Perl script through a URL connection and passes the name of the file that needs to be moved:
URL urlMove = new URL("http://myserver.com/cgi-bin/fileMove.pl?" + fileToMove);
URLConnection urlConn = urlMove.openConnection();
In the cgi-bin I have a perl script (fileMove.pl) that performs the move:
#!/usr/bin/perl
use CGI qw(:standard);
$pfile = $ENV{?QUERY_STRING?};
$cmd = ?mv stageArea/$pfile $pfile?;
system $cmd;
The Perl script works fine when I call it directly from Internet Explorer, but when I call the script from the Applet the file is not moved. Am I doing something wrong?

Got it to work!
Changed the Java code to:
URL urlMove = new URL("http://myserver.com/cgi-bin/fileMove.pl?" + fileToMove);
urlMove.openConnection();
InputStream moveStream = urlMove.openStream();
and in the Perl script added the line:
print "Content-Type: text/html\n\n";
The applet running my a PC is now effortlessly moving files on the unix server, wahoo.
Aside: I also found that my applet web server and the files the applet reads/writes do not have to be on the same machine. In the applet's cgi-bin directory I created a "link" to the networked unix directory where the image files are actually located. I really expected the Applet I/O Security to complain, but it work like a charm. Go figure.

Similar Messages

  • Request - Perl script that can parse an ACE config from a VIP

    Has anyone ever written a Perl script that can take the VIP from an ACE config and parse it out into the component parts of the config, ACLs, NATs, Class-map, policy-map, etc. ?
    This seems like something someone must have written already.
    Thanks in advance!

    Any reason you dont want to use XML instead of doing just PERL ?  Its lot easier to do with XML scripts as ACE has a XML interface to query whatever is needed. So that said, you can use a perl to interface ACE via XML. Here's a simple Perl that uses LibCurl:
    #!/usr/bin/perl
    use WWW::Curl::Easy;
    my $numArgs = $#ARGV + 1;
    if ($numArgs<4)
    die("Usage: shusers.pl ip_address username password command\n");
    my $ip = @ARGV[0];
    my $uname = @ARGV[1];
    my $pwd = @ARGV[2];
    my $cmd = @ARGV[3];
    my $curl = new WWW::Curl::Easy;
    my $posturl = "http://$ip/bin/xml_agent/";
    my $xml_cmd = "xml_cmd=<$cmd/>";
    $curl->setopt(CURLOPT_HEADER, 0);
    $curl->setopt(CURLOPT_FRESH_CONNECT, 1);
    $curl->setopt(CURLOPT_URL, $posturl);
    $curl->setopt(CURLOPT_RETURNTRANSFER,1);
    $curl->setopt(CURLOPT_USERPWD,"$uname:$pwd");
    $curl->setopt(CURLOPT_POST,1);
    $curl->setopt(CURLOPT_POSTFIELDS, $xml_cmd);
    $curl->perform;
    my $info = $curl->getinfo(CURLINFO_RESPONSE_CODE);
    print $info;
    Hope this helps.
    Cheers
    V.K

  • Calling a Perl script from a BSP application

    Hi all,
           Is it possible to call a Perl program that resides on a different server from a BSP application. If so, how do I do it.
    Thanks,
    Shiraz.

    If I understand correctly what the script does then when you type the script by itself into the webbrowser do you get a response? If it works that way then you can quite easily use something like this:
          <htmlb:gridLayout columnSize = "1"
                            rowSize    = "1"
                            height     = "600"
                            width      = "100%" >
            <htmlb:gridLayoutCell columnIndex = "1"
                                  rowIndex    = "1" >
              <phtmlb:matrix width  = "100%"
                             height = "100%" >
                <phtmlb:matrixCell col = "1"
                                   row = "1" />
                <iframe id="MyIFrame" src="<%= lv_url %>" border="0" width="100%" height="100%" frameborder="0" />
              </phtmlb:matrix>
            </htmlb:gridLayoutCell>
          </htmlb:gridLayout>
    See: is it possible to define xhtml:tabscript width by using %
    Just give your perl script as the URL for the iframe. Again this only works if calling the perl script in the browser works.

  • How to call a perl script from an apple script

    Hi All,
    How to Call a perl Script from an apple script.
    Pls Give Your comments.
    Thanx & Regards,
    Esther

    Applescript to call a perl script named "/tmp/x.pl" passing an argument "world"
    do shell script "/usr/bin/perl /tmp/x.pl world"
    or if the script is given the executable atttribute (chmod +x /tmp/x.pl),
    do shell script "/tmp/x.pl world"
    Perl script "/tmp/x.pl" that prints a string using a passed argument
    #!/usr/bin/perl
    print "Hello $ARGV[$1]\n";

  • Calling a Perl Script within a JSP page

    Can anyone suggest a technique for calling a Perl Script within a JSP page.
    Thanx
    Raymis

    Runtime.exec()
    URL.openConnection().connect()

  • Call a Perl Script from JSP

    Hi guys,
    I am developing an online ticket booking system.
    i have come toa point where i need to call a perl script from JSP.
    please let me know how to do it.
    Basically, i need to call a function in perl script from JSP in order to encrypt my information.
    Any help is appreciated.
    Thanks in advance.
    Chintan Shah

    I haven't done this myself, but it seems like it is possible in Tomcat.
    You can configure Tomcat to handle .cgi calls (it does this via a CGI servlet)
    http://www.ftponline.com/javapro/2003_03/online/perl_teden_03_18_03/
    http://tomcat.apache.org/tomcat-5.0-doc/cgi-howto.html
    Once this is set up, theoretically you should be able to then use requestdispatcher and forward/include a cgi script to invoke the perl.
    I don't know if you are using Tomcat or not though... :-)

  • Can anyone help me write a script that would click "get info" and then "enter" on each movie in my itunes library? I am asking because my itunes 11 repeatedly loses the artwork to my movies in my itunes library.

    Can anyone help me write a script that would click "get info" and then "enter" on each movie in my itunes library? I am asking because my itunes 11 repeatedly loses the artwork to my movies in my itunes library. I can restore the artwork (and make my apple tv see the movie exists as well) by going into the movie library and clicking on each movie by hand, slecting get info, and then selecting enter. Now doing this 10 times in 20 days was fun and all BUT I would really like to automate the process so everytime itunes screws it up I can fix it easier.
    I saw this example of an itunes script that restores artwork for music
    tell application "iTunes" set theSelection to selection repeat with i from 1 to count of theSelection tell (item i of theSelection) set artworkCount to count of artwork repeat artworkCount times set theArtwork to data of artwork 1 delete artwork 1 set data of artwork artworkCount to theArtwork end repeat end tell end repeat end tell
    but I need to tweak this to fit my needs for simply clicking the "get info" button and "enter" in the movie library rather than all the stuff this guy has listed. Any ideas or help on writing this? Thanks.

    Try assigning Queen as the Album Artist on the compilations in iTunes on your computer.

  • Can an applet call one of the methods of servlet??

    hi everyone...
    i m very new servlet and applet programming and i have come accross a problem....
    i m using a applet which establishes connection with the servlet(residing on server)..i want to use few of the methods of the servlet....
    now is it possible tfor me to call the methods of this servlet using its object.???
    please help me..
    thanx in advance

    first of all thanx a lot for the reply...
    but i wanted to know can an applet call any other
    function of servlet other than get and post....as i
    hacve defined some more functions in servlet..
    please reply...I did this a while back (2003/4?) and unless it's changed you cannot do it directly, it must be GETor POST, then you could just use conditional logic to invoke another method.

  • Shell or perl script from OS command_Sender File Channel

    Hi All,
    I am trying to execute a perl script from the File Sender Channel(NFS), OS command Before Message Processing. The script works fine if i run it from the shell. But when PI calls the script,  the script does not get executed. The audit logs mention that the OS command has been called.
    I tried using:
    1) /<fullpath>perlScript.pl /<fullpath>filename.dat
    2) perl /<fullpath>perlScript.pl /<fullpath>filename.dat
    Both these commands work fine when i execute them on the shell.
    I am on solaris and PI 7.0. The permission for the perl script and input files are all 777.
    FYI.. i am using this perl script to transpose a complex file and make it # delimited file.
    I have already read the blogs for OS command and executed some sample scenarios successfully.
    I tried to call a shell script that does the same functionality as the perl script. Even that does not work.
    Also, wrote a shell script to call the perl script inside it. No luck.
    eg:
    touch /fullpath>/create_before.dat
    perl /<fullpath>perlScript.pl /<fullpath>filename.dat
    touch /<fullpath>/create_after.dat
    In this case, the create_before.dat and create_after.dat is getting created but the perl is not called. I know this because i cant see the output files of the perl script.
    Regards,
    Balaji
    Edited by: Balaji M on Oct 30, 2008 2:36 PM

    Hi,
    The problem is fixed. The shell or perl both have logic to transpose a non industry starndard file to the delimited file which PI can use an FCC to pick up.
    This was the fix:
    we need to mention the shell the script is going to be run in.
    In the shell script we mentioned --> *#!/usr/bin/bash* as the first line
    normally, when we use the command -- which bash on the unix command prompt, it tells us the path for the bash used.
    another option --> #!/usr/bin/ksh
    again, on the command prompt -- which ksh command will tell us what ksh is being used.
    If the script is a simple one that does copy or move commands, i believe we need not use the commands above. But is a good practice to have them in the script.
    Regards,
    Balaji
    Edited by: Balaji M on Nov 3, 2008 4:38 PM

  • I have perl scripts that I want to be able to run with my iplanet web server 6.0. How can I make it work in Windows NT? (Because I have no problem when I use it with Linux).

     

    Hi Melanie,
    In order to run a PERL script under Windows NT the iPlanet Web Server needs to know where to find the PERL interpreter.
    follow these steps :
    1) Make sure Windows NT knows what a .pl file is. In file Manager click on file and choose associate from the menu. Check the "files with extension" drop-down list for pl - if it exists verify that it is pathed to your perl.exe. If it is not already on the list click the "New Type" button. In the Filetype box put pl. Choose open from the Action drop-down list. In the Command box specify the full path to your perl.exe interpreter (Make sure to use short filenames, rather than long filenames.) Click the OK button. Then click the Close button in the main Associate dialog box. Double click a .pl file to test - it should automatically launch the PERL interpreter and feed it your .pl file.
    2) Create a directory to contain your .pl scripts.
    ~server_root\shell-cgi is a good choice.
    or \cgi-bin\
    NOTE: Make very sure that this directory is NOT part of the document root, it should have it's own directory (preferably at the same level of the docroot).
    3) In the Admin Server select Programs.
    4) Choose CGI directory (normally) or WinCGI directory or ShellCGI Directory depending on ur choice from the Programs menu.
    5) Put the URL Prefix you would like to map to your Shell-CGI directory into the URL Prefix field.
    6) Put the full path to your Shell-CGI directory in the Shell CGI directory field.
    7) Click OK.
    8) The save and apply changes page will display your changes and give you the opportunity to verify them. If they are correct click the Save and Apply button. If not Click the Undo button and go back to step 4.
    (9)You can then call your .pl scripts directly by referencing the directory mapping that you have just created. For example:
    http://my.server.whatever/shell-cgi/ myscript.pl
    this should work now.
    If not Pls Mail me.
    regards
    T.Raghulan
    [email protected]

  • Calling a perl script from stored procedure

    Can anyone tell me how to call/run a perl script from a stored procedure? If you have a sample code, please include it.
    Thanks in advance

    If you have a web server setup that runs perl, you can do this by using the utl_http package...Here is some code I use to run a perl script and print the results to a web page on our site.
    The in_URL parameter is the address of the perl code(i.e. http://website/path/perlscript?param1=value1&param2=value2 etc)
    PROCEDURE call_perl(in_URL VARCHAR2) IS
    /* This is setup to allow a perl program to be submitted as a batch program
    using the standard Portal batch program.
    Sometimes these jobs take a long time to run, so the timeout value must
    be set to a large value. The default timeout is 60 seconds, which is not long enough. */
    req utl_http.req;
    resp utl_http.resp;
    value VARCHAR2(1024);
    BEGIN
    req := utl_http.begin_request(replace(utl_url.escape(replace(in_URL,'%3A',':')),CHR(13)));
    utl_http.set_transfer_timeout(req, 18000); -- Set timeout to 5 hours for this specific request.
    resp := utl_http.get_response(req);
    LOOP
    utl_http.read_line(resp, value, TRUE);
    htp.p(value);
    END LOOP;
    utl_http.end_response(resp);
    EXCEPTION WHEN utl_http.end_of_body THEN
    utl_http.end_response(resp);
    WHEN utl_http.init_failed THEN
    htp.p('INIT FAILED');
    WHEN utl_http.request_failed THEN
    htp.p('REQUEST FAILED');
    htp.p(NVL(utl_http.get_detailed_sqlerrm,' No more detail available.'));
    END;
    If you don't have a web server setup, I don't know offhand how you could do this.
    Laurel

  • Can servlets/ jsp automatically run perl scripts and executables?

    I'm a student and am new to to servlets and web programming in general.
    I need to know if it's possible to run perl scripts and executables automatically from servlets/ jsp.
    The program I am planning on creating should have a client outside a firewall that uploads perl files to a gateway machine inside the firewall, the servlet should be able to run this perl file, and then pass the resulting file as an argument to an executable, to be run by another servlet on a different server.
    I've tried looking everwhere for an answer to this and am about to revert to a cgi based approach because I'm not sure if it would work so any help/ suggestions would be much appreciated.

    Hallo,
    I think using java Runtime will help. you can do Processes that execute shell or system commands through
    Process process = Runtime.getRuntime().exec("your perl scripts here!");
    Bye

  • Can a applet call a JNI code

    I need to develop a browser plugin or analogus plugin utility which will download from the server and and then make a local DLL call. the local DLL call includes starting a Windows exe system which will start another software (pre-installed on the client system) in another process.
    I searched around with the NPAPI plugin and FireBreath frameworks. But my biggest drawback is i am novice in C++.
    Can I make an applet will make a JNI call to call the windows systems dll. I know a signed applet can use the System.load function (excuse me if i am syntactically wrong) but i am not sure if it can start a exe or make a JNI call.
    As i have no time to learn and code in C++ the applet path seems to be the most viable one.
    Please suggest
    Vishwanath

    vwashimkar wrote:
    As i have no time to learn and code in C++ the applet path seems to be the most viable one.
    Please suggestThen you are out of luck.
    I suspect you think that you can use java to directly call your dll. That won't happen.
    Closest you can get to that is JNA (3rd party library "Java Native Access") and using that requires that you learn JNA and unless your dll has a simple interface figuring out how to use JNA will likely require some knowledge of C/C++ and calling semantics.

  • UCCX8 - script that reads XML file failing, used to work fine in UCCX 5 and 7

    I have a existing script that I've used many times before to read a simple XML file to check open hours for a queue. In both UCCX 5 and 7
    I loaded up all my same scripts, documents , structure, etc..
    When I run script I get the below error.
    The error implies its a security problem but I also wonder if it could simply be a incorrect directory structure as well
    I have the document located in the repository under en\GlobalDocuments\HolidayDatesWithHours.xml
    Is there a differnet way we need to reference documents in UCCX 8 than 5 or 7
    I think I doing it correctly, using the CreateFileDocument and CreateXMLDocument steps, NOT trying to access the filesystem directly
    Do I need to use forward slashes in the file path for UCCX 8 ,
    Any ideas where to look.  This same error appears wherever in my script that I'm trying to read a XML file. different scripts as well so it seems that I'm doing something consistently wrong that used to work correctly on multiple UCCX 5&7 servers in the past.
    Thanks.
    <ERROR>
    527258: Aug 23 14:19:36.635 CDT %MIVR-SECURITY_MGR-2-SECURITY_VIOLATION:Security violation: Permission Name=.\documents\user\en\GlobalDocuments\\HolidayDatesWithHours.xml,Permission Action=read,Application=TrainingQueue,Script=CoreBTS-QueueScript.aef,Step id=437,Step Class=com.cisco.wfframework.obj.WFBeanStep,Step Description=boolTrueFalse = objFile.exists(),Expression=null,Exception=java.security.AccessControlException: access denied (java.io.FilePermission .\documents\user\en\GlobalDocuments\\HolidayDatesWithHours.xml read)
    </END ERROR>

    It should be fine, I assume you mean to reference the full location of your files such as:
    DOC[en\GlobalDocuments\HolidayDatesWithHours.xml]
    Or you could use a document variable such as:
    docVariable = DOC[en\GlobalDocuments\HolidayDateWithHours.xml]
    then in the script reference that:
    doc = Create XML Document (docVariable)

  • Calling a shell script from ODI tool OS command

    hi,
    I am trying to call a shell script from the ODI tool OS command with the following command "sh /Oracle/ODI/backlog.sh"
    where "backlog.sh" is the name of the shell script. I am redirecting the output of the script to a file called "backlog.out" and this part is done in the script itself.The ODI session is successful and the output file i.e "backlog.out" gets created in the specified location but the output of the script doesnot get written to this output file.Is this the right way of calling the shell script using ODI OS command.

    Hi-
    It seems there is no input parameters for your script. Please check your script file needs any input parameters and try the syntax below:
    path/scriptname.sh input1 input2
    where input1 and 2 are input parameters for the script file which you are calling.
    Hope this will work for you.
    Thanks,
    Saravanan Rajavel

Maybe you are looking for