Hallo zusammen,
ich versuche per API eine Datei bei share-online.biz hochzuladen.
Als Informationsgrundlage dient mir die Beschreibung der API von share-online.biz/uploadapi/
Die Sessiondaten bekomme ich im Moment mit der Funktion:
Jetzt bekomme ich diese Daten allerdings nicht für den Upload weiterverarbeitet.
Habe beispielhaft den Code von der Session abgeändert, aber da wird wohl irgendwo der Fehler liegen:
Damit bekomme ich folgende Fehlermeldung:
Der HTML-Code funktioniert, bekomme den aber nicht auf VB.net umgemünzt:
Was muss ich wie abändern, damit das klappt oder bin ich auf dem völlig falschen Dampfer?
Vielen Dank im Voraus!
ich versuche per API eine Datei bei share-online.biz hochzuladen.
Als Informationsgrundlage dient mir die Beschreibung der API von share-online.biz/uploadapi/
Request to: share-online.biz/upv3_session.php
Required Vars:
[username] account username
[password] account password
Response: SESSIONNAME;UPLOADSERVER/SKRIPT.PHP
Example: GW63P9DEC;server/upv3.php
Die Sessiondaten bekomme ich im Moment mit der Funktion:
VB.NET-Quellcode
- Dim username = "username"
- Dim password = "password"
- Dim Request As HttpWebRequest = CType(WebRequest.Create("http://www.share-online.biz/upv3_session.php"), HttpWebRequest)
- Request.Method = "POST"
- Request.ContentType = "application/x-www-form-urlencoded"
- Dim Post As String = "&username=" & username & "&password=" & password
- Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
- Request.ContentLength = byteArray.Length
- Dim DataStream As Stream = Request.GetRequestStream()
- DataStream.Write(byteArray, 0, byteArray.Length)
- DataStream.Close()
- Dim Response As HttpWebResponse = Request.GetResponse()
- DataStream = Response.GetResponseStream()
- Dim reader As New StreamReader(DataStream)
- Dim ServerResponse As String = reader.ReadToEnd()
- reader.Close()
- DataStream.Close()
- Response.Close()
- Dim value As String = ServerResponse
- Dim words() As String = value.Split(";")
- sessionname = words(0)
- uploadserver = words(1)
Jetzt bekomme ich diese Daten allerdings nicht für den Upload weiterverarbeitet.
Request to: server/upv3.php
Required Vars:
[username] account username
[password] account password
[upload_session] upload session name from step 1
[chunk_no] set to "1"
[chunk_number] set to "1"
[filesize] filesize of current file in bytes
[fn] filedata (in HTTP forms known as type="file")
[finalize] set to "1"
Response: DOWNLOAD-URL;FILESIZE;MD5
Example: share-online.biz/dl/HJD74ZDM1;
6547231;316508123e89909723fe95945caf00a5
(linebreak only in example!)
Habe beispielhaft den Code von der Session abgeändert, aber da wird wohl irgendwo der Fehler liegen:
VB.NET-Quellcode
- Dim sessionname As String = "", uploadserver As String = ""
- Rückgabe(sessionname, uploadserver)
- Dim username = "username"
- Dim password = "password"
- Dim chunk_no = 1
- Dim chunk_number = 1
- Dim filesize = "772480"
- Dim fn = "C:\Jellyfish.zip"
- Dim finalize = 1
- Dim Request As HttpWebRequest = CType(WebRequest.Create("http://" & uploadserver), HttpWebRequest)
- Request.Method = "POST"
- Request.ContentType = "application/x-www-form-urlencoded"
- Dim Post As String = "&username=" & username & "&password=" & password & "&upload_session=" & sessionname & "&chunk_no" = chunk_no & "&chunk_number=" & chunk_number _
- & "&filesize=" & filesize & "&fn=" & fn & "&finalize=" & finalize
- Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
- Request.ContentLength = byteArray.Length
- Dim DataStream As Stream = Request.GetRequestStream()
- DataStream.Write(byteArray, 0, byteArray.Length)
- DataStream.Close()
- Dim Response As HttpWebResponse = Request.GetResponse()
- DataStream = Response.GetResponseStream()
- Dim reader As New StreamReader(DataStream)
- Dim ServerResponse As String = reader.ReadToEnd()
- reader.Close()
- DataStream.Close()
- Response.Close()
- MsgBox(ServerResponse)
Damit bekomme ich folgende Fehlermeldung:
Der Remoteserver hat einen Fehler zurückgegeben: (415) Unsupported Media Type.
Der HTML-Code funktioniert, bekomme den aber nicht auf VB.net umgemünzt:
HTML-Quellcode
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <title>UPLOAD-API</title>
- </head>
- <body>
- <form enctype="multipart/form-data" action="http://server/upv3.php" method="POST">
- <table>
- <tr><td>Uploadfile:</td><td><input name="fn" type="file" />
- <input type="submit" value="Upload File" /></td></tr>
- <tr><td>Session:</td><td><input type="text" name="upload_session" value="" /></td></tr>
- <tr><td>Chunk_no:</td><td><input type="text" name="chunk_no" value="" /></td></tr>
- <tr><td>Chunk_number:</td><td><input type="text" name="chunk_number" value="" /></td></tr>
- <tr><td>Filesize:</td><td><input type="text" name="filesize" value="" /></td></tr>
- <tr><td>Finalize:</td><td><input type="text" name="finalize" value="" /></td></tr>
- <tr><td>Username</td><td><input type="text" name="username" value="" /></td></tr>
- <tr><td>Password</td><td><input type="text" name="password" value="" /></td></tr>
- <tr><td><input type="submit" value="Upload File" /></td></tr>
- </table>
- </form>
- </body>
- </html>
Was muss ich wie abändern, damit das klappt oder bin ich auf dem völlig falschen Dampfer?
Vielen Dank im Voraus!