Hi, I have sniffed the URL with chrome and replicated everything.
The download is SUCESSFUL:
Here is the code (it might be simplified, probably some headers can be removed)
var loader:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest(
"http://freefr.dl.sourceforge.net/project/osmf.adobe/OSMF%202.0%20Release%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20release%20notes%29/OSMF.swc");
req.method = URLRequestMethod.GET;
req.idleTimeout = 300000;
req.manageCookies = false;
req.requestHeaders = [
new URLRequestHeader("Host", "freefr.dl.sourceforge.net") ,
new URLRequestHeader("Connection", "keep-alive") ,
new URLRequestHeader("Accept",
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"),
new URLRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT
6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101
Safari/537.36"),
new URLRequestHeader("Referer",
"http://sourceforge.net/projects/osmf.adobe/files/OSMF%202.0%20Release%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20release%20notes%29/OSMF.swc/download?use_mirror=freefr"),
new URLRequestHeader("Accept-Encoding", "gzip,deflate,sdch"),
new URLRequestHeader("Accept-Language",
"fr-FR,fr;q=0.8,en-GB;q=0.6,en;q=0.4,en-US;q=0.2"),
new URLRequestHeader("Range", "bytes=748-748"),
new URLRequestHeader("If-Range", "8d3250c-411ca-4bbd424667d40")
];
-----Message d'origine-----
De : Erik de Bruin [mailto:[email protected]]
Envoyé : vendredi 18 octobre 2013 11:20
À : [email protected]
Objet : Re: Installer changes to go with 4.11?
You can set 'userAgent' on URLRequest. When I set it to a random string, it
didn't make a difference. When I set it to "Java/1.6.0_51"
- the same as a request from ant is using on my system - I at least get a
status 302 (redirect) from the URLLoader... and an error ;-)
Looking further...
EdB
On Fri, Oct 18, 2013 at 10:52 AM, Erik de Bruin <[email protected]> wrote:
> From [1]:
>
> "Our download redirection can handle downloads via scripts, this is
> done via 302 redirects, please ensure that the download system you are
> using can follow those redirects, and also make sure that it is not
> sending a User Agent designed to look like a browser's User Agent (if
> the User Agent makes the download appear to come from a browser, we
> will send the "Your download will begin..." page instead of just
> serving the file)."
>
> Now, it seems URLLoader sends a request with the User Agent
> "Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/533.19.4
> (KHTML, like Gecko) AdobeAIR/3.8", which I gather is being interpreted
> as being from a browser... Any way to change the User Agent on
> URLLoader or do we have a different method to download files with AIR
> that doesn't have this behaviour?
>
> EdB
>
> 1: http://sourceforge.net/apps/trac/sourceforge/ticket/13094
>
>
>
> On Fri, Oct 18, 2013 at 10:30 AM, Erik de Bruin <[email protected]> wrote:
>> Funny thing is these URLs succeed when used with the ant 'get' task.
>> I recently put the one I posted before in 'downloads.xml' to fix an
>> issue with the previous URL and it has been working fine since...
>>
>> EdB
>>
>>
>>
>> On Fri, Oct 18, 2013 at 10:25 AM, Maurice Amsellem
>> <[email protected]> wrote:
>>>>The AIR app will actually follow the redirect. But it looks like on
>>>>the first hit they are setting a cookie and looking for the cookie
>>>>before downloading the >real file. If not, they simply redirect to
>>>>the downloads page for a five second wait. And they do it because
>>>>they want to show ads apparently [1]
>>>
>>> You are right.
>>>
>>> So I disabled cookies and javascript , erased all my cookies and history
>>> in chrome, and run one of the URLs, and the download was successful.
>>> I inspected the OSMF.swc request, it has no cookies.
>>>
>>> So I suspect it has something to do with the ;ts=1382081780 that is in the
>>> URL.
>>> That's obviously a timestamp in 100th of seconds.
>>> So maybe the server is doing some check or something on this value,
>>> and fails if does not math an expected range, So that people cannot use an
>>> old link to download.
>>>
>>> Or probably not, I don't know...
>>>
>>> Maurice
>>>
>>>
>>> -----Message d'origine-----
>>> De : [email protected] [mailto:[email protected]] De la part de
>>> OmPrakash Muppirala Envoyé : vendredi 18 octobre 2013 09:49 À :
>>> [email protected] Objet : Re: Installer changes to go with 4.11?
>>>
>>> On Fri, Oct 18, 2013 at 12:40 AM, Maurice Amsellem <
>>> [email protected]> wrote:
>>>
>>>> Hi, maybe that's obvious , as I am not an HTTP expert at all,
>>>>
>>>> but the HTML content returned has a meta http-equiv "refresh",
>>>> that reloads the pages 5 seconds later with the mirror URL (see
>>>> below)
>>>>
>>>> So it's not doing redirect.
>>>>
>>>> Maybe we could parse the content and grab that URL, then send
>>>> another download?
>>>>
>>>> WDYT ?
>>>>
>>>>
>>>>
>>> I did try exactly that. But the meta redirect url first goes to the
>>> sourceforge.net page before it gets redirected again. The AIR app
>>> will actually follow the redirect. But it looks like on the first
>>> hit they are setting a cookie and looking for the cookie before
>>> downloading the real file. If not, they simply redirect to the
>>> downloads page for a five second wait. And they do it because they
>>> want to show ads apparently [1]
>>>
>>> [1] http://sourceforge.net/apps/trac/sourceforge/ticket/23335
>>>
>>>
>>>
>>>> <meta http-equiv="refresh" content="5; url=
>>>> http://downloads.sourceforge.net/project/osmf.adobe/OSMF%202.0%20Re
>>>> lea
>>>> se%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20releas
>>>> e%2
>>>> 0notes%29/OSMF.swc?r=app%3A%2FFlexAIRsandbox.swf&ts=1382081780&
>>>> amp
>>>> ;use_mirror=freefr
>>>> ">
>>>>
>>>> -----Message d'origine-----
>>>> De : [email protected] [mailto:[email protected]] De la part de
>>>> OmPrakash Muppirala Envoyé : vendredi 18 octobre 2013 09:31 À :
>>>> [email protected] Objet : Re: Installer changes to go with 4.11?
>>>>
>>>> You are probably correct, but every 'direct link' I tried seems to
>>>> redirect to the same page which redirects to the actual mirror. In
>>>> fact the link I am using was a 'direct link' to a mirror site.
>>>>
>>>> I am not sure if the downloads.xml link is correct either.
>>>>
>>>> Thanks,
>>>> Om
>>>>
>>>>
>>>> On Fri, Oct 18, 2013 at 12:19 AM, Alex Harui <[email protected]> wrote:
>>>>
>>>> > OK, will look tomorrow. I thought this kind of URL always
>>>> > returns an HTML page with a separate link to the mirror's url. I
>>>> > think in some of our scripts I bake in some mirror's URL, which
>>>> > probably isn't the "best" thing in the world to do, but seems to work.
>>>> >
>>>> > -Alex
>>>> >
>>>> > On 10/17/13 11:52 PM, "OmPrakash Muppirala"
>>>> > <[email protected]>
>>>> wrote:
>>>> >
>>>> > >Sure. Here it is:
>>>> > >
>>>> > >Notice that in the handleDownloadSuccess method, the file turns
>>>> > >out to be an html page.
>>>> > >
>>>> > ><?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication
>>>> > >xmlns:fx="http://ns.adobe.com/mxml/2009"
>>>> > > xmlns:s="library://ns.adobe.com/flex/spark"
>>>> > > xmlns:mx="library://ns.adobe.com/flex/mx">
>>>> > > <fx:Script>
>>>> > > <![CDATA[
>>>> > >
>>>> > > protected function handleDownloadBtnClick():void
>>>> > > {
>>>> > > download("
>>>> > >
>>>> > http://switch.dl.sourceforge.net/project/osmf.adobe/OSMF%202.0%20
>>>> > Rel
>>>> > ea
>>>> > se%2
>>>> > >0%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20release
>>>> > >%20
>>>> > >no
>>>> > >tes%2
>>>> > >9/OSMF.swc
>>>> > >",
>>>> > > handleDownloadSuccess,handleDownloadError);
>>>> > > }
>>>> > >
>>>> > > private function download(url:String,
>>>> > >handlerFunction:Function, errorFunction:Function = null):void {
>>>> > > var loader:URLLoader = new URLLoader();
>>>> > > var req:URLRequest = new URLRequest(url);
>>>> > > //Wait for 5 minutes before aborting download attempt.
>>>> > >Adobe download sites as well as some Apache mirrors are extremely slow.
>>>> > > req.idleTimeout = 300000;
>>>> > >
>>>> > > loader.dataFormat = URLLoaderDataFormat.BINARY;
>>>> > > loader.addEventListener(Event.COMPLETE,
>>>> > >handlerFunction, false, 0, true);
>>>> > >
>>>> > > if (errorFunction != null) {
>>>> > > loader.addEventListener(ErrorEvent.ERROR,
>>>> > >errorFunction, false, 0, true);
>>>> > >
>>>> > >loader.addEventListener(IOErrorEvent.IO_ERROR,
>>>> > >errorFunction, false, 0, true);
>>>> > > }
>>>> > >
>>>> > > loader.load(req);
>>>> > > }
>>>> > >
>>>> > > protected function handleDownloadSuccess(event:Event):void
>>>> > > {
>>>> > > var data:ByteArray = event.target.data
>>>> > > var str:String = data.readUTFBytes(data.length);
>>>> > > }
>>>> > >
>>>> > > protected function handleDownloadError(event:Event):void
>>>> > > {
>>>> > > trace();
>>>> > > }
>>>> > >
>>>> > >
>>>> > > ]]>
>>>> > > </fx:Script>
>>>> > > <s:Button verticalCenter="0" horizontalCenter="0"
>>>> > >label="Download OSMF swc" click="handleDownloadBtnClick()" />
>>>> > ></s:WindowedApplication>
>>>> > >
>>>> > >
>>>> > >
>>>> > >On Thu, Oct 17, 2013 at 10:30 PM, Alex Harui <[email protected]> wrote:
>>>> > >
>>>> > >> Can you carve out a 10-line MXML file that tests this download
>>>> > >>capability and post it in this thread? It would make it
>>>> > >>easier for folks to play around with potential solutions.
>>>> > >>
>>>> > >> -Alex
>>>> > >>
>>>> > >> On 10/17/13 4:31 PM, "OmPrakash Muppirala"
>>>> > >> <[email protected]>
>>>> > wrote:
>>>> > >>
>>>> > >> >Okay, I give up. There is absolutely no way to download the
>>>> > >> >osmf.swc
>>>> > >>2.0
>>>> > >> >file from sourceforge from the Installer. If anyone can take
>>>> > >> >a look,
>>>> > >>that
>>>> > >> >would be great. If not, I think we should just instruct
>>>> > >> >folks on how
>>>> > >>to
>>>> > >> >replace it manually.
>>>> > >> >
>>>> > >> >Thoughts?
>>>> > >> >
>>>> > >> >Thanks,
>>>> > >> >Om
>>>> > >> >
>>>> > >> >
>>>> > >> >On Thu, Oct 17, 2013 at 3:04 PM, OmPrakash Muppirala
>>>> > >> ><[email protected]>wrote:
>>>> > >> >
>>>> > >> >> Just to confirm, osmf.swf should really be named
>>>> > >> >> osmf_<flexversion>_<buildnumber>.swf, right?
>>>> > >> >>
>>>> > >> >> Thanks,
>>>> > >> >> Om
>>>> > >> >>
>>>> > >> >>
>>>> > >> >> On Thu, Oct 17, 2013 at 11:54 AM, OmPrakash Muppirala <
>>>> > >> >> [email protected]> wrote:
>>>> > >> >>
>>>> > >> >>> On Thu, Oct 17, 2013 at 11:50 AM, Maurice Amsellem <
>>>> > >> >>> [email protected]> wrote:
>>>> > >> >>>
>>>> > >> >>>> I have tested the download from France.
>>>> > >> >>>> It's almost instantaneous on a regular ADSL connection
>>>> > >> >>>>via wifi, which is not surprising, given the small size
>>>> > >> >>>>of the file.
>>>> > >> >>>>
>>>> > >> >>>>
>>>> > >> >>>>
>>>> > >> >>> It is, for me as well.
>>>> > >> >>>
>>>> > >> >>>
>>>> > >> >>>> Where is this mirror located?
>>>> > >> >>>>
>>>> > >> >>>>
>>>> > >> >>> Looks like it is in Zurich, Switzerland.
>>>> > >> >>>
>>>> > >> >>>
>>>> > >> >>>
>>>> > >> >>>> Maurice
>>>> > >> >>>>
>>>> > >> >>>> -----Message d'origine----- De : [email protected]
>>>> > >> >>>> [mailto:[email protected]] De la part de OmPrakash
>>>> > >> >>>> Muppirala Envoyé : jeudi 17 octobre 2013 20:15 À
>>>> > >> >>>> : [email protected] Objet : Re: Installer changes to go
>>>> > >> >>>> with 4.11?
>>>> > >> >>>>
>>>> > >> >>>> The most straightforward way to solve this problem seems
>>>> > >> >>>>to be
>>>> > >> >>>>- grabbing the osmf.swc from a single mirror directly
>>>> > >> >>>>like this [1] Here is a short documentation on
>>>> > >> >>>>sourceforge's mirroring system. Any
>>>> > >>concerns?
>>>> > >> >>>> Any alternative ideas?
>>>> > >> >>>>
>>>> > >> >>>> Thanks,
>>>> > >> >>>> Om
>>>> > >> >>>>
>>>> > >> >>>> [1]
>>>> > >> >>>>
>>>> > >> >>>>
>>>> > >> >>>>
>>>> > >> http://switch.dl.sourceforge.net/project/osmf.adobe/OSMF%202.0
>>>> > >> %20
>>>> > >> Re
>>>> > >> leas
>>>> > >>
>>>> > >>>>>>e%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%2
>>>> > >>>>>>0re
>>>> > >>>>>>le
>>>> > >>>>>>ase%2
>>>> > >>>>>>0n
>>>> > >> >>>>otes%29/OSMF.swc
>>>> > >> >>>>
>>>> > >> >>>> [2]
>>>> > >> >>>> http://sourceforge.net/apps/trac/sourceforge/wiki/Mirrors
>>>> > >> >>>>
>>>> > >> >>>>
>>>> > >> >>>> On Thu, Oct 17, 2013 at 10:32 AM, OmPrakash Muppirala
>>>> > >> >>>> <[email protected]>wrote:
>>>> > >> >>>>
>>>> > >> >>>> > The problem with this download page is that it does a
>>>> > >> >>>> > 307
>>>> > >>redirect
>>>> > >> >>>>to
>>>> > >> >>>> > the actual file. Flex/AIR does not seem to follow the
>>>> > >> >>>> > redirect,
>>>> > >> >>>>even
>>>> > >> >>>> > though I set URLRequest.followRedirects = true.
>>>> > >> >>>> >
>>>> > >> >>>> > Alex/others, do you know of any other location to
>>>> > >> >>>> > download the
>>>> > >> >>>>latest
>>>> > >> >>>> > osmf.swc file. We are getting the older version from
>>>> > >> >>>> > here [1]
>>>> > >> >>>> >
>>>> > >> >>>> > Thanks,
>>>> > >> >>>> > Om
>>>> > >> >>>> >
>>>> > >> >>>> > [1]
>>>> > >> >>>> >
>>>> > >>
>>>> > >>>>>>
>>>> > http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/
>>>> > fra
>>>> > m
>>>> > >>>>>>e
>>>> > >> >>>> > works/libs/
>>>> > >> >>>> >
>>>> > >> >>>> >
>>>> > >> >>>> > On Thu, Oct 17, 2013 at 3:32 AM, Erik de Bruin
>>>> > >><[email protected]>
>>>> > >> >>>> wrote:
>>>> > >> >>>> >
>>>> > >> >>>> >> Om,
>>>> > >> >>>> >>
>>>> > >> >>>> >> Instead of:
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>
>>>> > http://sourceforge.net/projects/osmf.adobe/files/OSMF%202.0%20Rel
>>>> > eas
>>>> > e
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20
>>>> > >>>>>>rel
>>>> > >>>>>>ea
>>>> > >>>>>>se%20
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>notes%29/OSMF.swc/download?use_mirror=hivelocity&r=&use_mir
>>>> > >>>>>>ror
>>>> > >>>>>>=h
>>>> > >>>>>>ivelo
>>>> > >> >>>> >> city
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>
>>>> > http://sourceforge.net/projects/osmf.adobe/files/OSMF%202.0%20Rel
>>>> > eas
>>>> > e
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20
>>>> > >>>>>>rel
>>>> > >>>>>>ea
>>>> > >>>>>>se%20
>>>> > >> >>>> >> notes%29/OSMF.swc/download
>>>> > >> >>>> >>
>>>> > >> >>>> >> You might consider using:
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>
>>>> > http://downloads.sourceforge.net/project/osmf.adobe/OSMF%202.0%20
>>>> > Rel
>>>> > e
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>ase%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and
>>>> > >>>>>>%20
>>>> > >>>>>>re
>>>> > >>>>>>lease
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>%20notes%29/OSMF.swc?r=&ts=1381906346&use_mirror=op
>>>> > >>>>>>tim
>>>> > >>>>>>at
>>>> > >>>>>>e<htt
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>p://
>>>> > downloads.sourceforge.net/project/osmf.adobe/OSMF%202.0%20Release
>>>> > >> >>>> >>
>>>> > >>
>>>> > >>>>>>%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20
>>>> > >>>>>>rel
>>>> > >>>>>>ea
>>>> > >>>>>>se%20
>>>> > >> >>>> >> notes%29/OSMF.swc?r=&ts=1381906346&use_mirror=optimate
>>>> > >> >>>> >> >
>>>> > >> >>>> >>
>>>> > >> >>>> >> HTH,
>>>> > >> >>>> >>
>>>> > >> >>>> >> EdB
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >> >>>> >> On Thu, Oct 17, 2013 at 12:06 PM, OmPrakash Muppirala
>>>> > >> >>>> >> <[email protected]> wrote:
>>>> > >> >>>> >> > I have checked in all the fixes to support OSMF 2.0
>>>> > >> >>>> >> > and
>>>> > >>OSMF.swf
>>>> > >> >>>> RSL.
>>>> > >> >>>> >> > There seems to be a problem with the OSMF.swc 2.0 url.
>>>> > >> >>>> >> > Can
>>>> > >> >>>>someone
>>>> > >> >>>> >> take a
>>>> > >> >>>> >> > look?
>>>> > >> >>>> >> >
>>>> > >> >>>> >> > Its 3AM here in the bay area. I am calling it a night.
>>>> > >> >>>> >> >
>>>> > >> >>>> >> > Can someone take care of putting up the RC1
>>>> > >> >>>> >> > (windows, mac and
>>>> > >> >>>>linux
>>>> > >> >>>> >> > versions) of Installer 2.7.0?
>>>> > >> >>>> >> >
>>>> > >> >>>> >> > If not, I will take it up in the morning.
>>>> > >> >>>> >> >
>>>> > >> >>>> >> > Thanks,
>>>> > >> >>>> >> > Om
>>>> > >> >>>> >> >
>>>> > >> >>>> >> >
>>>> > >> >>>> >> > On Wed, Oct 16, 2013 at 9:40 PM, OmPrakash Muppirala
>>>> > >> >>>> >> > <[email protected]>wrote:
>>>> > >> >>>> >> >
>>>> > >> >>>> >> >>
>>>> > >> >>>> >> >> On Oct 16, 2013 8:58 PM, "Justin Mclean"
>>>> > >> >>>> >> >> <[email protected]>
>>>> > >> >>>> >> wrote:
>>>> > >> >>>> >> >> >
>>>> > >> >>>> >> >> > Hi,
>>>> > >> >>>> >> >> >
>>>> > >> >>>> >> >> > > Should the installer learn how to pull and
>>>> > >> >>>> >> >> > > rename the
>>>> > >>SWF
>>>> > >> >>>> >> >> > > from
>>>> > >> >>>> >> the SWC
>>>> > >> >>>> >> >> > That would fix the current issue with the installer.
>>>> > >> >>>> >> >>
>>>> > >> >>>> >> >> I am on it.
>>>> > >> >>>> >> >>
>>>> > >> >>>> >> >> Om
>>>> > >> >>>> >> >>
>>>> > >> >>>> >> >> >
>>>> > >> >>>> >> >> > BTW not too many people are likely to run into
>>>> > >> >>>> >> >> > this and
>>>> > >> >>>>there's
>>>> > >> >>>> >> >> > an
>>>> > >> >>>> >> easy
>>>> > >> >>>> >> >> work around eg put the file in the right place yourself.
>>>> > >> >>>> >> >> >
>>>> > >> >>>> >> >> > > or should the build script do that and leave
>>>> > >> >>>> >> >> > > the
>>>> > >>OSMF.SWF in
>>>> > >> >>>> >> >> > > the
>>>> > >> >>>> >> RSLs
>>>> > >> >>>> >> >> folder with the rest of
>>>> > >> >>>> >> >> > > the SDK RSL SWFs?
>>>> > >> >>>> >> >> > License wise we can't distribute the binary
>>>> > >> >>>> >> >> > release with
>>>> > >>osmf
>>>> > >> >>>>in
>>>> > >> >>>> >> >> > it
>>>> > >> >>>> >> so
>>>> > >> >>>> >> >> that complicates things a little.
>>>> > >> >>>> >> >> >
>>>> > >> >>>> >> >> > Thanks,
>>>> > >> >>>> >> >> > Justin
>>>> > >> >>>> >> >>
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >> >>>> >>
>>>> > >> >>>> >> --
>>>> > >> >>>> >> Ix Multimedia Software
>>>> > >> >>>> >>
>>>> > >> >>>> >> Jan Luykenstraat 27
>>>> > >> >>>> >> 3521 VB Utrecht
>>>> > >> >>>> >>
>>>> > >> >>>> >> T. 06-51952295
>>>> > >> >>>> >> I. www.ixsoftware.n
>>>> > >> >>>> >>
>>>> > >> >>>> >
>>>> > >> >>>> >
>>>> > >> >>>>
>>>> > >> >>>
>>>> > >> >>>
>>>> > >> >>
>>>> > >>
>>>> > >>
>>>> >
>>>> >
>>>>
>>
>>
>>
>> --
>> Ix Multimedia Software
>>
>> Jan Luykenstraat 27
>> 3521 VB Utrecht
>>
>> T. 06-51952295
>> I. www.ixsoftware.nl
>
>
>
> --
> Ix Multimedia Software
>
> Jan Luykenstraat 27
> 3521 VB Utrecht
>
> T. 06-51952295
> I. www.ixsoftware.nl
--
Ix Multimedia Software
Jan Luykenstraat 27
3521 VB Utrecht
T. 06-51952295
I. www.ixsoftware.nl