此代码片段是用托管 C++ 编写的 isapi 重定向过滤器的一部分,它将捕获带有前缀“ http://test/的 url 请求。一旦捕获了 url,它会将这些请求重定向到我在根目录下的 test.aspx 文件我的网络应用程序。
我需要一些语法帮助:
1)传递“urlString”参数以显示在我的“test.aspx”页面中。问题行:urlString.Replace(urlString, "/test.aspx?urlString");
2) 我的 aspx 页面显示 urlString 的语法
DWORD CRedirectorFilter::OnPreprocHeaders(CHttpFilterContext* pCtxt,
PHTTP_FILTER_PREPROC_HEADERS pHeaderInfo)
{
char buffer[256];
DWORD buffSize = sizeof(buffer);
BOOL bHeader = pHeaderInfo->GetHeader(pCtxt->m_pFC, "url", buffer, &buffSize);
CString urlString(buffer);
urlString.MakeLower(); // for this exercise
if(urlString.Find("/test/") != -1) //insert url condition
{
urlString.Replace(urlString, "/test.aspx?urlString");
char * newUrlString= urlString.GetBuffer(urlString.GetLength());
pHeaderInfo->SetHeader(pCtxt->m_pFC, "url", newUrlString);
return SF_STATUS_REQ_HANDLED_NOTIFICATION;
}
//we want to leave this alone and let IIS handle it
return SF_STATUS_REQ_NEXT_NOTIFICATION;
}
-------------- aspx page
<html>
<body>
<%
dim url as string = request.querystring("urlString")
response.write(url)
%>
</body>
</html>