Archief - [JAVA] HTTPS connectie met username/wachtwoord (rapidshare)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

yannick

Legacy Member
Beste,

Ik ben een download manager aan het maken voor mijn mediacenter (linux). Nu is het al even geleden dat ik met sockets en HTTP connecties heb gewerkt en ik ben vergeten hoe HTTPS nu weer in zijn werk zat.

Zouden jullie mij even op het goede spoor kunnen leiden?

Met vriendelijke groeten

Fraggie

Legacy Member
Uit interesse, is iets zoals JDownloader (Java App) niet interessant voor je server? Deze kan je ook draaien van uit de CLI en bv configureren via X11.

Verder is de code van JDownloader ook Open Source.

yannick

Legacy Member
Fraggie zei:
Uit interesse, is iets zoals JDownloader (Java App) niet interessant voor je server? Deze kan je ook draaien van uit de CLI en bv configureren via X11.

Verder is de code van JDownloader ook Open Source.

Ja ik ken JDownloader en ben eigenlijk niet echt onder de indruk (snelheid daalde soms willekeurig tot 10kb/s, dit had ik niet met Internet download manager bv). Ik zal eens naar de source code kijken, maar als iemand hier weet hoe je kan verbinden met rapidshare zou het me veel zoekwerk besparen :).

Met vriendelijke groeten

Fraggie

Legacy Member
yannick zei:
Ja ik ken JDownloader en ben eigenlijk niet echt onder de indruk (snelheid daalde soms willekeurig tot 10kb/s, dit had ik niet met Internet download manager bv). Ik zal eens naar de source code kijken, maar als iemand hier weet hoe je kan verbinden met rapidshare zou het me veel zoekwerk besparen :).

Met vriendelijke groeten
Daar heb je wel gelijk in, JDownloader heeft soms zijn kuren.
Nuja verschiet niet van de API van RapidShare, redelijk sad imo:
http://images.rapidshare.com/apidoc.txt

Ignore indien je ze al had.

yannick

Legacy Member
Fraggie zei:
Daar heb je wel gelijk in, JDownloader heeft soms zijn kuren.
Nuja verschiet niet van de API van RapidShare, redelijk sad imo:
http://images.rapidshare.com/apidoc.txt

Ignore indien je ze al had.

Awel die had ik nog niet, maar nu wordt het zoeken om daar de info uit te halen die ik kan gebruiken in java :D.

Bedankt!

*EDIT*
Mja, ik weet niet of die api mij gaat helpen. Wat ik momenteel ehb is een gui meteen Jtable waarin de downloads komen te staan. Ik heb enkel de code nodig om te authenticaten met rapidshare, momenteel gebruik ik een overrided Authenticator klasse, maar ik denk niet dat het werkt van getContentLength geeft een size van 0 (hebde code voor het downloaden zelf nog niet geschreven).

Tenzij getcontentLength sowieso niet werkt voor rapidshare links, maar dan zit ik met nog een probleem, hoe de grootte van de file te weten komen alvorens te downloaden :).

yannick

Legacy Member
Ik kan dus niet vinden hoe ik kan authenticaten met rapidshare in mijn programma. Iemand hier ervaring mee? Heb geprobeerd met de authenticator class, maar deze is enkel voor basis http authenticatie en met een cookie("login=USERNAME&password=PASSWORD"), maar dit blijkt niet veel te doen...

Met vriendelijke groeten

Fraggie

Legacy Member
yannick zei:
Tenzij getcontentLength sowieso niet werkt voor rapidshare links, maar dan zit ik met nog een probleem, hoe de grootte van de file te weten komen alvorens te downloaden :).
Uit de API zonder ook maar één letter gecodeerd te hebben:
sub routine: checkfiles
via: https://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=subroutine (recommended)
iets van:
http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=checkfiles&files=5044438&filenames=test1.rar

antwoord:
integer,string,integer,integer,integer,string,string

Doc:
Code:
sub=checkfiles
Description:	Gets status details about a list of given files. (files parameter limited to 3000 bytes. filenames parameter limited to 30000 bytes.)
Parameters:	files=comma separated list of file ids
		filenames=comma separated list of the respective filename. Example: files=50444381,50444382 filenames=test1.rar,test2.rar
Reply fields:	1:File ID
		2:Filename
		3:[B]Size[/B] (in bytes. If size is 0, this file does not exist.)
		4:Server ID
		5:Status integer, which can have the following numeric values:
			0=File not found
			1=File OK
			3=Server down
			4=File marked as illegal
			5n=File OK (TrafficShare direct download type "n")
		6:Short host (Use the short host to get the best download mirror: http://rs$serverid$shorthost.rapidshare.com/files/$fileid/$filename)
		7:MD5 (hexadecimal)
Reply format:	integer,string,integer,integer,integer,string,string



Bij download kan je dan jezelf kenbaar maken via sub:
Code:
sub=download
Description:	Call this function to download a file from RapidShare as a free user or a RapidPro user. Free downloads are always using http://, while RapidPro
		downloads must use https:// (SSL) for security reasons. 
...
		login=Your login (if using premium downloads)
		password=Your password (if using premium downloads)
...

Alles volledig uit mijn duim gezogen door 5min naar de API te kijken, niet blind op staren als het niet lukt.

Tutorial HTTPS: http://www.javaworld.com/javaworld/javatips/jw-javatip96.html

Helpt dat al iets?

yannick

Legacy Member
Fraggie zei:
Uit de API zonder ook maar één letter gecodeerd te hebben:
sub routine: checkfiles
via: https://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=subroutine (recommended)
iets van:
http://api.rapidshare.com/cgi-bin/rsapi.cgi?sub=checkfiles&files=5044438&filenames=test1.rar

antwoord:
integer,string,integer,integer,integer,string,string

Doc:
Code:
sub=checkfiles
Description:	Gets status details about a list of given files. (files parameter limited to 3000 bytes. filenames parameter limited to 30000 bytes.)
Parameters:	files=comma separated list of file ids
		filenames=comma separated list of the respective filename. Example: files=50444381,50444382 filenames=test1.rar,test2.rar
Reply fields:	1:File ID
		2:Filename
		3:[B]Size[/B] (in bytes. If size is 0, this file does not exist.)
		4:Server ID
		5:Status integer, which can have the following numeric values:
			0=File not found
			1=File OK
			3=Server down
			4=File marked as illegal
			5n=File OK (TrafficShare direct download type "n")
		6:Short host (Use the short host to get the best download mirror: http://rs$serverid$shorthost.rapidshare.com/files/$fileid/$filename)
		7:MD5 (hexadecimal)
Reply format:	integer,string,integer,integer,integer,string,string



Bij download kan je dan jezelf kenbaar maken via sub:
Code:
sub=download
Description:	Call this function to download a file from RapidShare as a free user or a RapidPro user. Free downloads are always using http://, while RapidPro
		downloads must use https:// (SSL) for security reasons. 
...
		login=Your login (if using premium downloads)
		password=Your password (if using premium downloads)
...

Alles volledig uit mijn duim gezogen door 5min naar de API te kijken, niet blind op staren als het niet lukt.

Tutorial HTTPS: Java Tip 96: Use HTTPS in your Java client code - JavaWorld

Helpt dat al iets?

Ja, die api heb ik ook al eens bekenen, maar ik dacht dat het ook zou lukken met puur java. Waarschijnlijk is dit niet het geval en zal ik toch de api moeten raadplegen.

Bedankt alvast :)

Fraggie

Legacy Member
Hazo, maar dat betwijfel ik ten zeerste.

Ergens is het wel logisch dat je via hun API moet werken daar Rapidshare en andere hosts geen gebruik maken van bv FTP of een ander protocol om data over te zenden. De reden dat ze dat niet doen is omdat je véél meer controle hebt indien je het doet via HTTP. Minder performant, maar de mogelijkheden zijn oneindig.

Nu het is ook niet zomaar via een apache request naar de rechtstreekse file dat je werkt, daar je op die manier zonder load balancing zit aan de kant van Rapidshare. Dus rechtstreeks werken zou in mijn ogen nooit een optie geweest zijn.

Ikzelf heb in de tijd ook geen header informatie meegegeven in mijn download PHP script om download managers te trollen.

Best wel een tof project, alvast veel succes!

yannick

Legacy Member
Beste,

Bedankt voor alle hulp, het downloaden werkt perfect nu (aanvraag via api en dan gewoon inputstream openen en het bestand binnenhalen door middel van een buffer). Alles werkt perfect, enkel nog bekijken of ik het performanter kan maken ^^.

Met vriendelijke groeten
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan