Seite 1 von 1

Runprogram Aufruf verzögert/langsam

Verfasst: 24.08.2016 12:18
von Velz
Ich rufe aus PB531 mit RunProgram Curl auf. Der Aufruf ist im Vergleich zur Konsole sehr langsam. Es geht dabei um einen Zugriff auf die RESTAPI einer Telefonanlage. CURL Aufruf aus der Windows-Konsole reagiert in ca. 0,5 Sekunden, über RunProgramm dauert es ca. 3 Sekunden.

curl.i =RunProgram("curl" , "-u "name:pass" -H "Content-Type: application/json" -X POST "http://192./...../action" -d {\"action\":\"dial\",\"destination\":\"0123456789\"},"")
(Die vielen Anführungszeichen sind natürlich ersetzt... sieht dann aber schrecklich aus!)

Gibt es Möglichkeiten das zu beschleunigen?
Gibt es evt. ein RunProgram-Ersatz in der WIN-API??
Brauche ich überhaupt Curl oder kann PB das evtl. selber??

TAPI möchte ich nicht verwenden!
Integration der libcurl ist bestimmt ein ziemlicher Aufwand...!

Hat jemand eine Idee??

Re: Runprogram Aufruf verzögert/langsam

Verfasst: 24.08.2016 12:28
von RSBasic
Velz hat geschrieben:Gibt es evt. ein RunProgram-Ersatz in der WIN-API??
Nein, denn RunProgram() verwendet bereits die WinAPI-Funktion unter Windows.

Alternativ kannst du es mit folgendem Code testen: http://purebasic.fr/english/viewtopic.php?p=379025

Re: Runprogram Aufruf verzögert/langsam

Verfasst: 24.08.2016 12:31
von Andesdaf
Update auf PB 5.40+, dann kannst du libcurl direkt aus PB heraus benutzen:

https://github.com/deseven/pbsamples/bl ... ibcurl.pbi
https://github.com/deseven/pbsamples/bl ... example.pb

Re: Runprogram Aufruf verzögert/langsam

Verfasst: 24.08.2016 13:45
von Velz
Danke... dann werde ich mich halt mal an die libcurl wagen....!

Ich werde berichten!

Re: Runprogram Aufruf verzögert/langsam

Verfasst: 29.08.2016 08:45
von dige
Vermutlich bremst dein Virenscanner RunProgram() aus, weil die es nicht gern sehen, wenn aus einer Exe eine Exe gestartet wird..

Re: Runprogram Aufruf verzögert/langsam

Verfasst: 29.08.2016 08:52
von Velz
hm... virenscanner... das werde ich gleich mal testen!

>>> Ob mit oder ohne Virenscanner macht keinen Unterschied, der gleiche RunProgram-Aufruf unter Linux ist Faktor 10+ schneller!

Re: Runprogram Aufruf verzögert/langsam

Verfasst: 29.08.2016 16:26
von Velz
Nachdem der RunProgram() Aufruf mit anderen Programmen problemlos funktioniert hat, habe ich die Parameter mit escape und #DQUOTE$ nochmals neu zusammengebaut und nun funktioniert es auch mit Curl. Warum auch immer!

Jetzt habe ich etwas Zeit um die Libcurl zu integrieren!