Just for the record... ---------- Weitergeleitete Nachricht ----------
Betreff: RE: [Bug-wget] Scheme missing error from Java program Datum: Sonntag, 27. März 2016, 17:59:00 Von: Marc Stein <marc.st...@apexit.com> An: Tim Rühsen <tim.rueh...@gmx.de> You're right!!!! I needed double quotes around the URL. It works fine now. Thanks for your help!! -----Original Message----- From: Tim Rühsen [mailto:tim.rueh...@gmx.de] Sent: Sunday, March 27, 2016 9:45 AM To: Marc Stein <marc.st...@apexit.com> Subject: Re: [Bug-wget] Scheme missing error from Java program Am Sonntag, 27. März 2016, 13:20:32 schrieb Marc Stein: > Hi Tim, > > Thanks for the help!! The problem is that this is the command that is > failing: > > wget --no-check-certificate --load-cookie "cookiefile.txt" > --output-document "C:\Users\Hal\OpptyAnalysis.pdf" > 'https://secure-ausomxesa.crmondemand.com/OnDemand/user/ReportService? > Metho d=ReportExecute&Path=OpptyAnalysis&Format=pdf&Refresh=Y' > --max-redirect=100 From the error message I would think that ' is taken as part of the URL string, so a 'https scheme isn't valid (just a guess). Try to replace it ' by \" or play around with other escape measures (not sure what Windows and/or Powershell expects). Regards, Tim > > Thanks, Marc > > -----Original Message----- > From: Tim Rühsen [mailto:tim.rueh...@gmx.de] > Sent: Saturday, March 26, 2016 3:30 AM > To: bug-wget@gnu.org > Cc: Marc Stein <marc.st...@apexit.com> > Subject: Re: [Bug-wget] Scheme missing error from Java program > > Hi Marc, > > there is a space before https://... in your command string. That is > part of the argument to wget. > > String cmd = "wget --no-check-certificate > > > > --user-agent=\"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) > > Gecko/20100101 Firefox/17.0\" --keep-session-cookies --save-cookies > > \"cookiefile.txt\" --post-data \"j_username=" + username + "&j_password=" > > + password + "&langCode=ENU\" > > https://secure-ausomxesa.crmondemand.com/OnDemand/authenticate"; > > Change it to > > > "&langCode=ENU \"https://secure-> > And you should be fine. > > Regards, Tim > > Am Freitag, 25. März 2016, 22:57:29 schrieb Marc Stein: > > Howdy, > > > > I'm using wget to down report files from an Oracle CRMOD Report > > Server. When I use the command from Windows Powershell it works > > fine, but when I make the exact same call from a Java program I get > > the scheme missing error. I downloaded wget 1.17.1-win64. I'm using > > Java version 1.7.0_51. > > > > I have a login URL which works fine from both Powershell and the > > program, but the report download command works from Powershell and > > fails in the program. Here's the command: > > > > wget --no-check-certificate --load-cookie "cookiefile.txt" > > --output-document "C:\Users\Hal\OpptyAnalysis.pdf" > > 'https://secure-ausomxesa.crmondemand.com/OnDemand/user/ReportService? > > Metho d=ReportExecute&Path=OpptyAnalysis&Format=pdf&Refresh=Y' > > --max-redirect=100 > > > > Here is what is logged in the log file. The first line is the text > > of the command written out as a string for comparison to the text > > used in > > Powershell: > > > > wget --no-check-certificate --load-cookie "cookiefile.txt" > > --output-document "C:\Users\Hal\OpptyAnalysis.pdf" > > 'https://secure-ausomxesa.crmondemand.com/OnDemand/user/ReportService? > > Metho d=ReportExecute&Path=OpptyAnalysis&Format=pdf&Refresh=Y' > > --max-redirect=100 > > > > ERR>'https://secure-ausomxesa.crmondemand.com/OnDemand/user/ReportSe > > ERR>rv > > ERR>ice?Me > > thod=ReportExecute&Path=OpptyAnalysis&Format=pdf&Refresh=Y': Scheme > > missing. ExitValue: 1 Here is the code used for the program: > > package reports; > > > > import java.util.*; > > import java.io.*; > > import java.io.InputStream; > > import java.io.OutputStream; > > > > public class Distribute { > > > > //Constructor > > public Distribute() { > > > > super(); > > > > } > > > > public static void main(String args[]) > > { > > > > Distribute d = new Distribute(); > > try > > { > > > > Login("IIE_CTE02/MSTEIN", "xxxxxxxx"); > > Thread.sleep(1000); > > GetReport(); > > Logout(); > > > > } > > catch (Throwable t) > > { > > > > t.printStackTrace(); > > > > } > > > > } > > > > //Login function > > public static void Login(String username, String password) > > { > > > > try > > { > > > > String cmd = "wget --no-check-certificate > > > > --user-agent=\"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) > > Gecko/20100101 Firefox/17.0\" --keep-session-cookies --save-cookies > > \"cookiefile.txt\" --post-data \"j_username=" + username + "&j_password=" > > + password + "&langCode=ENU\" > > https://secure-ausomxesa.crmondemand.com/OnDemand/authenticate"; > > //System.out.println(cmd); > > > > Runtime rt = Runtime.getRuntime(); > > Process proc = rt.exec(cmd); > > > > // any error message? > > StreamGobbler errorGobbler = new > > > > StreamGobbler(proc.getErrorStream(), "ERR"); > > > > // any output? > > StreamGobbler outputGobbler = new > > > > StreamGobbler(proc.getInputStream(), "OUT"); > > > > // kick them off > > errorGobbler.start(); > > outputGobbler.start(); > > > > // any error??? > > int exitVal = proc.waitFor(); > > System.out.println("ExitValue: " + exitVal); > > > > } > > catch (Throwable t) > > { > > > > t.printStackTrace(); > > > > } > > > > } > > > > //Get Report > > public static void GetReport() > > { > > > > int exitVal = 5; > > //Try to get the report 3 times > > for (int count = 0; count < 3; count++) > > { > > > > if(exitVal == 0) break; > > try > > { > > > > String cmd = "wget --no-check-certificate > > > > --load-cookie \"cookiefile.txt\" --output-document > > \"C:\\Users\\Hal\\OpptyAnalysis.pdf\" > > 'https://secure-ausomxesa.crmondemand.com/OnDemand/user/ReportService? > > Metho d=ReportExecute&Path=OpptyAnalysis&Format=pdf&Refresh=Y' > > --max-redirect=100"; System.out.println(""); > > > > System.out.println("Report: " + cmd); > > System.out.println(""); > > Runtime rt = Runtime.getRuntime(); > > Process proc = rt.exec(cmd); > > > > // any error message? > > StreamGobbler errorGobbler = new > > > > StreamGobbler(proc.getErrorStream(), "ERR"); > > > > // any output? > > StreamGobbler outputGobbler = new > > > > StreamGobbler(proc.getInputStream(), "OUT"); > > > > // kick them off > > errorGobbler.start(); > > outputGobbler.start(); > > > > // any error??? > > exitVal = proc.waitFor(); > > System.out.println("ExitValue: " + exitVal); > > > > } > > catch (Throwable t) > > { > > > > t.printStackTrace(); > > > > } > > > > } > > > > } > > > > //Logout function > > public static void Logout() > > { > > > > try > > { > > > > String cmd = "wget --no-check-certificate --load-cookie > > > > \"cookiefile.txt\" > > https://secure-ausomxesa.crmondemand.com/OnDemand/logoff.jsp"; > > Runtime rt = Runtime.getRuntime(); > > > > Process proc = rt.exec(cmd); > > > > // any error message? > > StreamGobbler errorGobbler = new > > > > StreamGobbler(proc.getErrorStream(), "ERR"); > > > > // any output? > > StreamGobbler outputGobbler = new > > > > StreamGobbler(proc.getInputStream(), "OUT"); > > > > // kick them off > > errorGobbler.start(); > > outputGobbler.start(); > > > > // any error??? > > int exitVal = proc.waitFor(); > > System.out.println("ExitValue: " + exitVal); > > > > } > > catch (Throwable t) > > { > > > > t.printStackTrace(); > > > > } > > > > } > > > > private static class StreamGobbler extends Thread > > { > > > > InputStream is; > > String type; > > OutputStream os; > > > > StreamGobbler(InputStream is, String type) > > { > > > > this(is, type, null); > > > > } > > > > StreamGobbler(InputStream is, String type, OutputStream redirect) > > { > > > > this.is = is; > > this.type = type; > > this.os = redirect; > > > > } > > > > public void run() > > { > > > > try > > { > > > > PrintWriter pw = null; > > if (os != null) > > > > pw = new PrintWriter(os); > > > > InputStreamReader isr = new InputStreamReader(is); > > BufferedReader br = new BufferedReader(isr); > > String line = null; > > while ((line = br.readLine()) != null) { > > > > if (pw != null) > > > > pw.println(line); > > > > System.out.println(type + ">" + line); > > > > } > > if (pw != null) > > > > pw.flush(); > > > > } > > catch (IOException ioe) > > { > > > > ioe.printStackTrace(); > > > > } > > > > } > > > > } > > > > } > > > > Any help with this would be greatly appreciated. > > > > Thanks, Marc > > > > > > Marc Stein | CRM Technical Development [Apex > > Logo]<http://www.apexit.com/> > > *: 719.351.8578 *: marc.st...@apexit.com -------------------------------------------------------------
signature.asc
Description: This is a digitally signed message part.