1

何らかの形式の ID を使用してモバイル デバイスを識別できるようにしたいと考えています。

私はこの答えを読みました:Get unique, static id from a device via web request about reading x headers in asp.netですが、次のコードを使用してすべてのヘッダーを一覧表示すると、有用な x ヘッダーが得られません

    For Each var As String In Request.ServerVariables
        Response.Write("<b>" & var & "</b>: " & Request(var) & "<br>")
    Next

私のAndroidデバイスでは、取得する唯一のXヘッダーは HTTP_X_WAP_PROFILE です

4

2 に答える 2

2

HTTP ヘッダーを読みたい場合は、間違った方法で行っています。ServerVariables は、ヘッダーからの一部の情報のみを保持します。

Request.Headers プロパティを見ているは​​ずです。次のコードは、HTTP リクエストからのすべてのヘッダーを一覧表示します。あなたが参照する「x」ヘッダーがそこにあると思われます..

For Each headerName As String In Request.Headers.AllKeys
    Response.Write("<b>" & headerName & "</b>: " & Request.Headers(headerName) & "<br>")
Next
于 2013-02-18T14:42:53.513 に答える
1

ヘッダー値を読み取るには、以下のコードを使用できます。ブラウザについてのアイデアを得ることができるもの
を使用して薄めます。user-agent

C#

var headers = Request.Headers.ToString();

// If you want it formated in some other way.
var headers = String.Empty;
foreach (var key in Request.Headers.AllKeys)
  headers += key + "=" + Request.Headers[key] + Environment.NewLine;

VB.NET:

Dim headers = Request.Headers.ToString()

' If you want it formated in some other way.'
Dim headers As String = String.Empty
For Each key In Request.Headers.AllKeys
  headers &= key & "=" & Request.Headers(key) & Environment.NewLine
Next

ASP.NET (Android) でのモバイル デバイス ユーザー エージェントの検出から:

 //for Mobile device 
    protected override void OnInit(EventArgs e) 
    { 

        string userAgent = Request.UserAgent; 
        if (userAgent.Contains("BlackBerry") 
          || (userAgent.Contains("iPhone") || (userAgent.Contains("Android")))) 
        { 
            //add css ref to header from code behind 
            HtmlLink css = new HtmlLink(); 
            css.Href = ResolveClientUrl("~/mobile.css"); 
            css.Attributes["rel"] = "stylesheet";  
            css.Attributes["type"] = "text/css";  
            css.Attributes["media"] = "all";  
            Page.Header.Controls.Add(css); 
        }       
    }
于 2013-02-18T14:46:50.650 に答える