| /* This is a simple demo of a Rexx (modelled after the JavaScript) script that |
| uses the Java URL class to download some content from some URL. |
| |
| ooRexx (FOSS): <http://www.ooRexx.org> |
| BSF4Rexx (FOSS): <http://wi.wu-wien.ac.at/rgf/rexx/bsf4rexx/current/> or |
| eventually at <https://sourceforge.net/projects/bsf4rexx> |
| |
| license: |
| |
| ------------------------ Apache Version 2.0 license ------------------------- |
| Copyright (C) 2003-2006 Rony G. Flatscher |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| ----------------------------------------------------------------------------- |
| */ |
| |
| /* use the Java URL class to read data from a WWW server */ |
| URL_ADDR = "http://www.RexxLA.org/"; |
| |
| say "connecting to:" URL_ADDR |
| url=.bsf~new("java.net.URL", URL_ADDR) -- create a URL instance |
| |
| /* get the content, a <sun.net.www.http.KeepAliveStream> a subclass of: <sun.net.www.MeteredStream>, a subclass of: <java.io.FilterInputStream> */ |
| content = url~getContent /* get the content object */ |
| say "Bytes available:" content~available /* get # of bytes */ |
| say "Downloading .. " |
| ch="" |
| do until ch=-1 /* read the content */ |
| ch=content~read /* returns an Integer value representing a Byte or -1 */ |
| if ch>=0 then call charout , ch~d2c /* turn Byte integer value into character */ |
| end |
| |
| ::requires BSF.CLS -- Object Rexx wrapper classes |