Datei-Upload via CUrl, libCurl oder WinHTTP ???

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von Thorsten1867 »

Wer kennt sich hiermit aus? Meine Versuche (auch curl.exe) sind allesamt fehlgeschlagen und ich weiß nicht wo der Fehler liegt.
Der Vorgabecode lautet:

Code: Alles auswählen

curl https://www.box.com/api/2.0/files/content \
-H "Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN" \
-F filename=@FILE_NAME \
-F folder_id=FOLDER_ID
Wer kann diesen Code nach WinHTTP oder libCurl übersetzen?
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Re: Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von Thorsten1867 »

Die Anpassung an das Tool "curl.exe" ist mir inzwischen selber gelungen. Leider ist es nicht unbedingt "guter Stil" ein externes Programm zur Hilfe zu nehmen. Für einen libCurl-Portierung wäre ich also immer noch sehr dankbar.

Code: Alles auswählen

param$ = "-k https://www.box.com/api/2.0/files/content/ -H "+Chr(34)+"Authorization: BoxAuth api_key="+#BOX_ApiKey+"&auth_token="+BOX_AuthToken+Chr(34)+" -F FileName=@"+File$+" -F folder_id="+FolderID
RunPrg = RunProgram("curl.exe", param$, "", #PB_Program_Hide)
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Kiffi
Beiträge: 10719
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von Kiffi »

Thorsten1867 hat geschrieben:Für einen libCurl-Portierung wäre ich also immer noch sehr dankbar.
passt das?
http://purebasic.fr/english/viewtopic.p ... 25#p379025

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Re: Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von Thorsten1867 »

Diese Include nutze ich bereits für die "libCurl.dll". Aber leider fehlt ein Beispiel für einen Dateiupload, das mir helfen würde das Ganze mit der DLL umzusetzen.
Leider gibt es keine einfache Umsetzung von "curl.exe" nach "libCurl.dll".
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von derschutzhund »

Hallo Thorsten,

habe deine Beiträge zu curl gefunden und bin nun auch an der Stelle das in ein PB-Prog einbauen zu müssen / wollen.
Das Script: SimpleHTTPServerWithUpload.py lässt ein upload wie z.B. "curl -X POST -F file=@meow.jpeg http://192.168.foo.bar:8000" zu.
Ich habe nur absolut keine Ahnung wie ich das in PB einbauen kann!
Kannst du mir dazu was sagen?

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
Sicro
Beiträge: 968
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von Sicro »

derschutzhund hat geschrieben:Das Script: SimpleHTTPServerWithUpload.py lässt ein upload wie z.B. "curl -X POST -F file=@meow.jpeg http://192.168.foo.bar:8000" zu.
Ich habe nur absolut keine Ahnung wie ich das in PB einbauen kann!
Mit RunProgram(): "curl" als Programm und der Teil nach "curl" als Parameter übergeben.

Jetzt machst du schon so lange an der Sache rum ... inzwischen hättest du dir eine saubere Lösung per Netzwerk-Freigabe (http://wiki.ubuntuusers.de/Heimnetzwerk) einrichten können. :wink:
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von derschutzhund »

Hallo Sicro,
Mit RunProgram(): "curl" als Programm und der Teil nach "curl" als Parameter übergeben.
also so schlau bin ich auch!
Es geht darum des externe Programm curl eben nicht verwenden zu müssen sondern alles aus PB heraus zu machen.
inzwischen hättest du dir eine saubere Lösung per Netzwerk-Freigabe
Da ich kein klassisches Ubuntu verwende sondern ein PuppyLinux das auf Tahr 6.0.2 aufbaut ist das alles nicht so einfach umzusetzen und ich stelle mein System jetzt nicht um nur um eine Netzwerkfunktion zu bekommen die ich auch sehr übersichtlich und flexibel und auf mein System angepasst nachstellen kann.
Es geht mit ja nicht nur darum Dateien hin und herzuschieben!
Ich möchte Textinfos an die SchülerPCs senden können und im Grunde die SchülerPCs fernsteuern können.
Das geht so mit dem klassischen mounten von Netzwerklaufwerken wohl nicht oder? :D
Die sauberste Lösung wäre, wie ich es im Augenblick einschätze, der atomic-server der dann auf den SchülerPCs läuft. Leider kann oder will mir keiner von den Spezialisten erzählen wie ich die beiden Funktionen in die server - client -programme einbauen kann.

Da ich mich grundsätzlich nicht nur auf einen Weg festlege suche ich weiter einen Weg mit SimpleHTTPServerWithUpload.py.
Da ich nun mit curl in der Lage bin mit PureBasic auch Dateien an den Server zu senden habe ich schon einen kompletten Lösungsansatz fertig:
- auf der SchülerPC-Seite läuft ein PB-Programm das alle 20 Sek. prüft ob eine Befehlsdatei vorhanden ist
- ist die Datei vorhanden werden die Befehle darin ausgeführt
- per curl sende ich die Datei auf den Schüler-PC

Du warte ich noch auf eine Komplettlösung mit PB auf Basis des atomic-server.
Bin mal gespannt ob da noch was von den Spezialisten kommt....

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
Sicro
Beiträge: 968
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von Sicro »

derschutzhund hat geschrieben:Es geht mit ja nicht nur darum Dateien hin und herzuschieben!
Mehr Möglichkeiten bietet dir das Python-Script "SimpleHTTPServerWithUpload.py" auch nicht.
derschutzhund hat geschrieben:Ich möchte Textinfos an die SchülerPCs senden können und im Grunde die SchülerPCs fernsteuern können.
Das geht so mit dem klassischen mounten von Netzwerklaufwerken wohl nicht oder? :D
Doch, genau so, wie du es bereits mit "SimpleHTTPServerWithUpload.py" machst: Mit einem weiterem Programm nach einer Befehle-Datei Ausschau halten.
derschutzhund hat geschrieben:habe deine Beiträge zu curl gefunden und bin nun auch an der Stelle das in ein PB-Prog einbauen zu müssen / wollen.
Das Script: SimpleHTTPServerWithUpload.py lässt ein upload wie z.B. "curl -X POST -F file=@meow.jpeg http://192.168.foo.bar:8000" zu.
Ich habe nur absolut keine Ahnung wie ich das in PB einbauen kann!
derschutzhund hat geschrieben:
Sicro hat geschrieben:Mit RunProgram(): "curl" als Programm und der Teil nach "curl" als Parameter übergeben.
Es geht darum des externe Programm curl eben nicht verwenden zu müssen sondern alles aus PB heraus zu machen.
Dann hättest du dein Anliegen genauer formulieren müssen - statt "curl" besser "libcurl" oder per native PB-Network-Lib erwähnen sollen.
Zuletzt geändert von Sicro am 07.06.2015 21:07, insgesamt 2-mal geändert.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Datei-Upload via CUrl, libCurl oder WinHTTP ???

Beitrag von derschutzhund »

Ok, dann will ich das beim nächsten Mal versuchen!
Ich dachte nur, dass es aus dem ersten Beitrag des Themas klar hervor gehen würde!

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Antworten