| 4D v15.4WEB GET HTTP HEADER | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v15.4
 WEB GET HTTP HEADER 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WEB GET HTTP HEADER ( header|fieldArray {; valueArray} ) | ||||||||
| 引数 | 型 | 説明 | ||||||
| header|fieldArray | テキスト, テキスト配列 |   | リクエストHTTPヘッダまたはHTTPヘッダフィールド | |||||
| valueArray | テキスト配列 |   | HTTPヘッダフィールドの内容 | |||||
WEB GET HTTP HEADERコマンドは、 現在処理されているリクエストのHTTPヘッダーを含む2つの配列、または文字列のいずれかを返します。
このコマンドはWebプロセスで実行されるすべてのメソッド ( '/4DACTION'...によって呼び出されるメソッド、On Web AuthenticationデータベースメソッドまたはOn Web Connectionデータベースメソッド) 内から呼び出されます。Windows と Mac OS上で、各ヘッダーフィールドはCR+LF (キャリッジリターン+ラインフィード) シーケンスによって区切られています。
| fieldArray{1} = "X-METHOD" | valueArray{1} = "GET" * | 
| fieldArray{2} = "X-URL" | valueArray{2} = "/page.html" * | 
| fieldArray{3} = "X-VERSION" | valueArray{3} = "HTTP/1.0" * | 
| fieldArray{4} = "User-Agent" | valueArray{4} = "browser" | 
| fieldArray{5} = "Cookie" | valueArray{5} = "C=HELLO" | 
HTTP標準に準拠するには、フィールド名を常に英語で記述します。
リクエストで使用可能ないくつかのHTTPフィールドを以下のリストに示します。
次のメソッドを使用して、任意のHTTPリクエストヘッダーのコンテンツを取得できます。
  // GetHTTPFieldプロジェクトメソッド
  // GetHTTPField (Text) -> Text
  // GetHTTPField (HTTP header name) -> HTTPヘッダーコンテンツ
 
 C_TEXT($0;$1)
 C_LONGINT($vlItem)
 ARRAY TEXT($names;0)
 ARRAY TEXT($values;0)
 $0:=""
 WEB GET HTTP HEADER($names;$values)
 $vlItem:=Find in array($names;$1)
 If($vlItem>0)
    $0:=$values{$vlItem}
 End if  // Cookieヘッダーコンテンツ
 $cookie:=GetHTTPField("Cookie") $language:=GetHTTPField("Accept-Language")
 Case of
    :($language="@ja@") // 日本語 (ISO 639リストを参照)
       WEB SEND FILE("index_ja.html")
    :($language="@sp@") // スペイン語 (ISO 639リストを参照)
       WEB SEND FILE("index_es.html")
    Else
       WEB SEND FILE("index.html")
 End case注: Webブラウザ上で複数のランゲージをデフォルトで定義することができます。ランゲージは"Accept-Language" フィールドでリストにされ、 ";" で区切られて示されています。文字列内でのランゲージの位置に応じて、その優先順位が定義されます。そのため、文字列内でのランゲージの位置をテストすることをお勧めします。
以下は仮想ホストの例です (例えばOn Web Connectionデータベースメソッドにおいて) 。次の名前"home_site.com"、"home_site1.com" と "home_site2.com" は同じIPアドレス、例えば192.1.2.3を指している。 $host:=GetHTTPField("Host")
 Case of
    :($host="www.site1.com")
       WEB SEND FILE("home_site1.com")
    :($host="www.site2.com")
       WEB SEND FILE("home_site2.com")
    Else
       WEB SEND FILE("home_site.com")
 End case
	プロダクト: 4D
	テーマ: Webサーバ
	番号: 
        697
        
        
        
	
	初出: 4D v6.7
	名称変更: 4D v13
	
	
	ランゲージリファレンス ( 4D v15.4)
	
	
	ランゲージリファレンス ( 4D v15)
	
	
	
	
	
	
	ランゲージリファレンス ( 4D v15.3)
 コメントを追加
コメントを追加