只是關於使用FastCGI的一個簡短問題。到目前爲止,我已經編程了大約一個月,我發現很難將我的頭圍繞在FastCGI上。FastCGI和查詢字符串(在C中工作)
基本上這是我的問題。
如何設置我的查詢字符串?
從編程的角度來看,它甚至可以「設置」嗎?
如果這是我必須設置的東西,我會在哪裏做?
代碼:
while(FCGI_Accept() >= 0) {
if (getenv("QUERY_STRING") != NULL)
{
strcpy(query_string, getenv("QUERY_STRING"));
if (query_count == 0)
{
printf("Content-type: text/html\r\n\r\n");
printf("Query string has no data pairs!\n");
continue;
}
}
else
{
printf("Content-type: text/html\r\n\r\n");
printf("Query string does not exist!\n");
continue;
}
}
下面的代碼總是返回NULL
的getenv(QUERY_STRING)
。
通常,查詢字符串由Web服務器設置。例如,如果您打開瀏覽器,將其指向您的Web服務器並輸入一個如下所示的URL ...(oops),http://my.server.com/?name=fred&gender=male然後查詢字符串將是問號後的東西。 –
@BradS。非常感謝,這讓我對從哪裏開始有所瞭解。這可能是一個愚蠢的問題,但我如何將它指向我的Web服務器?我已經寫了一個函數來解析我的query_string到一個名稱 - 值對列表中,但是如果我保留一個NULL字符串哈哈是沒用的。 – Damian
我真的需要更多的上下文。我不知道你是使用web服務器運行cgi還是使用簡單的演示程序來實驗庫。我也想知道如果你知道如何在你的主機操作系統上設置環境變量......那麼,讓我們從一個簡單的hello世界程序開始......並且替換printf(「Hello,world!\ n」)這一行。 with,printf(「%s \ n」,getenv(「QUERY_STRING」));你知道如何在命令行上運行程序並設置環境變量,以便程序在不編譯的情況下打印出不同的東西嗎? –