Meine FastCgi-Anwendung kann jeden Parameter von Nginx lesen, wenn ich mit Ausnahme von QUERY_STRING Daten an meinen Server anschließe. Wenn man CONTENT_LENGTH anschaut, erhält man die korrekte Länge der Zeichenfolge und mein Browser zeigt die gesendeten Daten an, so dass ich nur denke, dass etwas nicht gesetzt ist oder ich an der falschen Stelle suche.QUERY_STRING kann nicht vom Proxy zur Anwendung gelangen
Meine Standort-Datei:
location /testpage/test {
include fastcgi_params;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
fastcgi_pass unix:/var/run/fcgi-sock.fcgi;
fastcgi_param SCRIPT_FILENAME /www/test-app;
}
Mein Test-App:
#include "/usr/local/include/fcgiapp.h"
int main()
{
FCGX_Request request;
FCGX_Init();
FCGX_InitRequest(&request, 0, 0);
while (FCGX_Accept_r(&request) == 0)
{
FCGX_FPrintF(request.out, "Content-type: text/html\r\n\r\n <h1>Hello World!</h1>");
char* q=FCGX_GetParam("REQUEST_METHOD",request.envp);
if(q) FCGX_FPrintF(request.out, "%s", q);
else FCGX_FPrintF(request.out, "nope");
q=FCGX_GetParam("QUERY_STRING",request.envp);
if(q) FCGX_FPrintF(request.out, "%s", q);
else FCGX_FPrintF(request.out, "nope");
}
Ich weiß, ich brauche die Zeichenfolge zu analysieren, aber ich möchte nur die Zeichenfolge an erster Stelle und bekommen, wie ich sagte, ich kann REQUEST_METHOD und mehrere andere Parameter ausdrucken, nur nicht QUERY_STRING.
Wie lautet Ihre URL? –