0
嗨我在C#中实现了下面的代码来捕获标题属性。 出于某种原因,我只获取名字的数据,其余字段显示为空。我知道他们有价值,但由于某种原因,他们显示为空。捕获http标题属性
// Load ServerVariable collection into NameValueCollection object.
System.Collections.Specialized.NameValueCollection headerdetails = Request.Headers;
List<string> requiredHeaders = new List<string>();
requiredHeaders.Add("FirstName");
requiredHeaders.Add("MiddleName");
requiredHeaders.Add("LastName");
requiredHeaders.Add("email");
// Get names of all keys into a string array.
String[] arr1 = headerdetails.AllKeys;
for (int i = 0; i < arr1.Length; i++)
{
if (requiredHeaders.Contains(arr1[i]))
{
if (arr1[i] == "FirstName")
{
String[] arr2 = headerdetails.GetValues(arr1[i]);
for (int values = 0; values < arr2.Length; values++)
{
string firstname = Server.HtmlEncode(arr2[values]);
Session["firstName"] = firstname;
}
}
if (arr1[i] == "MiddleName")
{
String[] arr2 = headerdetails.GetValues(arr1[i]);
for (int values = 0; values < arr2.Length; values++)
{
string middlename = Server.HtmlEncode(arr2[values]);
Session["middleName"] = middlename;
}
}
if (arr1[i] == "LastName")
{
String[] arr2 = headerdetails.GetValues(arr1[i]);
for (int values = 0; values < arr2.Length; values++)
{
string lastname = Server.HtmlEncode(arr2[values]);
Session["lastName"] = lastname;
}
}
if (arr1[i] == "email")
{
String[] arr2 = headerdetails.GetValues(arr1[i]);
for (int values = 0; values < arr2.Length; values++)
{
string email = Server.HtmlEncode(arr2[values]);
Session["emailID"] = email;
}
}
您需要访问您的网站的客户这些标题?为什么?这些不是标准标题,你有什么机制来确保客户发送这些信息?对于实际的问题,你做了什么调试?您是否确保客户端在请求中发送这些头文件?当你通过这个代码服务器端时,它出现了哪些问题? – David
是的客户端发送这些头。我也让他们在我的日志中被捕获。 –