Piszę serwer WWW w języku C# i próbuję dodać obsługę PHP. Mam go głównie działa, z wyjątkiem nie wiem jak przeszłości danych GET i POST do pliku wykonywalnego PHP, gdy przekazuję plik do niego. Testowałem z GET, ponieważ nie dostałem polecenia POST przetwarzane na serwerze, a ja mam ciąg argumentów, które są przekazywane oddzielone, ale nie wiem jak podawać informacje do parsera php . Niektóre wskazówki będą mile widziane.Jak przekazać dane GET i POST do pliku wykonywalnego php?
Odpowiedz
Dla GET: Easy Way (To ja znalazłem):
php-cgi.exe <script-file-name> <parameter1>=<value1> <parameter2>=<value2> [...] <parameterN>=<valueN>
twardszej Way (przez php-cgi i okien CLI) byłoby :
SET "QUERY_STRING=<parameter1>=<value1>&<parameter2>=<value2>&[...]&<paramterN>=<valueN>"
SET SCRIPT_NAME=<script-file-name>
SET REQUEST_METHOD=GET
SET REDIRECT_STATUS=0
php-cgi.exe
Zakładam, że istnieje sposób na ustawienie zmiennej środowiskowej za pomocą C#/.net. Zmienne środowiskowe musiałyby zostać anulowane po ukończeniu php-cgi.exe.
Więcej informacji na temat zmiennych środowiskowych CGI, które można ustawić (i ogólnie CGI) pod adresem http://www.ietf.org/rfc/rfc3875.txt. Może być użyteczna także dokumentacja zmiennej $ _SERVER PHP. Zagadnienia bezpieczeństwa dotyczące uruchamiania PHP jako CGI również w dokumentacji PHP na php.net.
Czy znasz CGI? Zwykle w ten sposób serwery WWW wykonują dowolne programy zewnętrzne.
Z pewnością istnieją bardziej nowoczesne alternatywy dla CGI, ale (prawie) każdy serwer WWW i program zewnętrzny będą obsługiwały CGI.
Jeśli jesteś w bash
lub podobnej powłoce, spróbuj tego: QUERY_STRING="fruitKind=apple&basketId=1000" php -q foo.php
.
Serwer WWW w C# == brak bash dostępne: warunek wstępny (nie używając mono) – jrharshath
Czy rozważałeś podłączenie danych GET/POST jako STDIN do pliku wykonywalnego PHP? tj.
system ("echo" .GETOrPOSTData. "> foobar.php");
czy wiesz, czy to działa? na pewno? – jrharshath
Musiałbyś przerobić sposób, w jaki skrypt PHP pobiera dane wejściowe, zmieniając je z POST/GET na STDIN. – Jason
Jest wyjaśnienie tu http://stevedev.co.cc/php-curl-method-get-and-post/
- 1. Jak przekazać dane POST do PHP-CGI?
- 2. dane HttpServletRequest get JSON POST
- 3. Metody HTML GET i POST
- 4. Dane POST do adresu URL w PHP
- 5. Jak przekazać tablicę obiektów javascript do php za pomocą POST
- 6. Jak przekazać dane do BroadcastReceiver?
- 7. Fiddler dodaje dane pliku binarnego do POST
- 8. Jak POST dane JSON z PHP cURL?
- 9. instantiateViewControllerWithIdentifier i przekazać dane
- 10. Dane POST znikają przy przesyłaniu dużego pliku
- 11. Jak wywołać funkcję jednego pliku php z innego pliku php i przekazać do niego parametry?
- 12. Parametry JSP, GET i POST
- 13. Czy można razem korzystać z GET i POST?
- 14. Jak utworzyć hiperłącze do lokalnego pliku wykonywalnego?
- 15. Jak przekazać wartości GET do innego adresu URL w php? Przesyłanie wartości GET
- 16. jak przekazać dane wejściowe do .exe w pliku wsadowym?
- 17. Przekierowanie do działania i trzeba przekazać dane
- 18. Jak przekazać dane z FSharp.Data.CsvProvider do Deedle.Frame?
- 19. Jak mogę wysłać dane POST i GET do skryptu Perl CGI za pomocą wiersza poleceń?
- 20. web.py: jak uzyskać parametr POST i parametr GET?
- 21. Codeigniter - haczyk do zalogowania GET/POST REQUESTS
- 22. Jak przełączyć się z POST na GET w PHP CURL
- 23. pokrycie zmrożonego pliku wykonywalnego
- 24. Jak przekazać URL w URL (jako parametr GET) używając PHP?
- 25. jQuery ajax() vs get()/post()
- 26. Parametry Railsów z GET/POST
- 27. Żądania w pythonie - dane POST z pliku
- 28. angularjs: POST dane do zewnętrznych REST API
- 29. HTTP SOAP \ GET \ POST
- 30. Jak mogę przekazać Spring Boot, której głównej klasy użyć do pliku wykonywalnego jar?
Twój link wygląda na uszkodzony. – starbeamrainbowlabs