Seite 1 von 1
URL-Aufruf mit RunProgram u. Übergabe von Text-Zeilen
Verfasst: 17.02.2022 16:42
von marcelx
Hallo,
wie kann ich Text-Daten an zzzz.php übergeben (Daten aus eine Text-Datei)
und wie sieht zzzz.php aus um diese Daten anzuzeigen?
Code: Alles auswählen
URL$ = "http://www.xxxx.de/xxx/zzzz.php"
RunProgram("RunDll32.exe", "Url.dll,FileProtocolHandler "+URL$, "")
Danke.
Re: URL-Aufruf mit RunProgram u. Übergabe von Text-Zeilen
Verfasst: 17.02.2022 17:00
von RSBasic
Möchtest du deine Daten als GET- oder POST-Parameter übergeben?
In deinem Beispiel kannst du aber deine Daten nur per GET übergeben.
Beispiel:
Code: Alles auswählen
URL$ = "http://www.xxxx.de/xxx/zzzz.php?parameter1=daten1¶meter2=daten2"
RunProgram("RunDll32.exe", "Url.dll,FileProtocolHandler "+URL$, "")
In der php-Datei musst du die Daten so empfangen:
Code: Alles auswählen
<?php
echo 'Parameter1: ' . $_GET["parameter1"];
echo 'Parameter2: ' . $_GET["parameter2"];
?>
Re: URL-Aufruf mit RunProgram u. Übergabe von Text-Zeilen
Verfasst: 17.02.2022 17:39
von marcelx
Danke für dein Lösung.
Ist die Länge der Daten begrenze (z.B. für parameter1)?
Re: URL-Aufruf mit RunProgram u. Übergabe von Text-Zeilen
Verfasst: 17.02.2022 21:32
von RSBasic
Die URL mit GET-Parametern darf maximal 2048 Zeichen lang sein. Es kommt aber auf den jeweiligen Client und Server an. Wenn die URL zu lang ist, dann gibt es die Fehlermeldung 414 (Request-URI Too Long).
Wenn du viele Daten an einen Server übermitteln möchtest. würde ich dir empfehlen, deine Daten per POST zu schicken. Da ist das Limit deutlich höher und du kannst deutlich mehr Daten übertragen. Festgelegt ist es auf dem Server über die Variable post_max_size.
Benutze lieber stattdessen HTTPRequest() und #PB_HTTP_Post. Siehe PB-Hilfe. Außerdem ist es nativ und plattformunabhängig und du musst kein RunProgram("RunDll32.exe") benutzen.
Damit du POST-Daten in PHP empfangen kannst:
Code: Alles auswählen
<?php
echo 'Parameter1: ' . $_POST["Parameter1"];
echo 'Parameter2: ' . $_POST["Parameter2"];
?>
Re: URL-Aufruf mit RunProgram u. Übergabe von Text-Zeilen
Verfasst: 18.02.2022 05:56
von TroaX
Ich würde immer zum Übertragen von Daten an einem Webserver den Request-Body nutzen. Die URL soll grundsätzlich nur der Verweis auf eine Ressource sein. Optionale Parameter sollen nur der genaueren Spezifizierung der Ressource dienen. Mittlerweile ist die HTTP-Bibliothek ausreichend mächtig, um sie für so etwas zu nutzen.
Re: URL-Aufruf mit RunProgram u. Übergabe von Text-Zeilen
Verfasst: 18.02.2022 11:13
von marcelx
Danke für Ihr Rückmeldung
HTTPRequest() gibt es nicht bei PB 5.31
Re: URL-Aufruf mit RunProgram u. Übergabe von Text-Zeilen
Verfasst: 18.02.2022 11:49
von RSBasic
Warum verwendest du noch PB 5.31? Du hast doch bestimmt das Update-Recht oder?
HTTPRequest() gibt es erst ab PB 5.70.
Wenn du die neuste PB-Version nutzt, hast du immer Vorteile:
- Viele neue Funktionen
- Bugfixes
- Unterstützung neuerer Betriebssysteme (z.B. OSVersion())
Re: URL-Aufruf mit RunProgram u. Übergabe von Text-Zeilen
Verfasst: 18.02.2022 13:13
von marcelx
Weil kein Update von COMatPLUS gibt für PB 5.6
Nach eine lange Pause habe ich sendmail mit PB5.60 ausprobiert und so funktioniert.
Nun, ich verwende COMatePLUS.pbi Version 2.1 aus
http://www.rsbasic.de/backups/ und mit PB5.6 bekomme ich die Meldung:
...
[09:31:20] [ERROR] COMatePLUS.pbi (Line: 1383)
[09:31:20] [ERROR] Procedure stack has been corrupted.
[09:38:14] Execution continued.
[09:38:14] [ERROR] COMatePLUS.pbi (Line: 1383)
[09:38:14] [ERROR] Procedure stack has been corrupted.
Die Excel-Datei wird korrekt erzeugt.
Wenn ich mein Programm als exe verwende, ist alles korrekt.