⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recordsession.c

📁 C编写的用来实现search engine的推荐功能
💻 C
字号:

/**
 * recordsession.c CGI program for recording sessions 
 * by zhiyong, louisville, Dec..10
 * $Id:  Exp $ **/#include <stdio.h>#include <stdlib.h>#include <string.h>
//#include <gdbm.h>

//char session_gdbm[256] = "/home/zhiyong/software/apache2/cgi-bin/session.gdbm";

int main()
{	int iRet;
	char* Cookie_ID = NULL;
	char sessionID[256];
	char* Request_URI = NULL;
	char sessionURL[256];
	char* ptr = NULL;
	FILE *fp = NULL;
	//GDBM_FILE db = NULL;
	//datum name;
	//datum value;
	char sessions[2048];
	
	fprintf(stdout, "Content-type: text/html\n\n");	
	//the following part are replaced by modifying apahce mod_usertrack
	//no longer in maintainence.
	/*Cookie_ID = getenv("HTTP_COOKIE");
	if(Cookie_ID != NULL)
	{
		ptr = strchr(Cookie_ID, '=');
		if(ptr != NULL)
		{
			if(strlen(ptr) >=256) 
			{
				fprintf(stderr, "session ID length too long\n");
			}
			else
			{
				strcpy(sessionID, ptr+1);
			}
		}
	}
	
	Request_URI = getenv("REQUEST_URI");
	if(Request_URI != NULL)
	{
		ptr = strchr(Request_URI, '=');
		if(ptr != NULL)
		{
			if(strlen(ptr) >=256) 
			{
				fprintf(stderr, "session url length too long\n");
			}
			else
			{
				strcpy(sessionURL, ptr+1);
				sessionURL[strlen(ptr+1)] = '\0';
			}
		}
	}*/
	
	/*fp = fopen(session_gdbm, "rb");
	if(fp == NULL)
	{
		db = gdbm_open(session_gdbm, 2048, GDBM_WRITER|GDBM_WRCREAT|GDBM_SYNC|GDBM_NOLOCK, 0644 ,0);
	}
	else
	{
		db = gdbm_open(session_gdbm, 2048, GDBM_WRITER, 0644 ,0);
	}
	fclose(fp);
	if (db ==NULL)
	{
		fprintf(stderr, "create %s error\n",session_gdbm);
		return 0;
	}
	name.dptr = sessionID;
	name.dsize = strlen(sessionID);
	iRet = gdbm_exists(db, name);
	if(iRet) 
	{
		value = gdbm_fetch(db, name);
		if(value.dptr != NULL)
		{
			strcpy(sessions, value.dptr);
			sessions[value.dsize] = '\0';
			strcat(sessions, ";");
			strcat(sessions, sessionURL);
			sessions[strlen(sessions)] = '\0';
		}
		else
		{
			fprintf(stderr, "error fetching gdbm lib file");
			gdbm_close(db);
			return -1;
		}
	}
	else
	{
		strcpy(sessions, sessionURL);
		sessions[strlen(sessions)] = '\0';
	}
	value.dptr = sessions;
	value.dsize = strlen(sessions);
	iRet = gdbm_store(db, name, value, GDBM_REPLACE);

	gdbm_close(db);*/

	/*fp = fopen("/home/zhiyong/software/apache2/cgi-bin/sessions.txt", "a+");
	fprintf(fp,"Your Cookie ID:%s\n", Cookie_ID);
	fprintf(fp,"Your Session ID:%s\n", sessionID);
	fprintf(fp,"Your request:%s\n", Request_URI);
	fprintf(fp,"Your session url :%s\n", sessionURL);
	fclose(fp);*/
	
	//printf("<H3>Your visit history:</H3>");
	return 0;
	
}	


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -