2016-11-14 16 views
0

マルチサイトサーバーでホストされているAPIサイトにアクセスしたい。SのIPアドレスがありますが、DNSサーバーがないため、次のパラメータを使用してHTTPリクエストを作成する:

{ 
    URL : 'http://192.168.1.xxx:80/data', 
    headers : { 
    Host : 'api.somesite.com' 
    }, 
    data : ... 
} 

しかし、「ホスト」ヘッダーを自動的に送信する(したがって、要求が失敗した)の前に「192.168.1.xxx」への角度によって置き換えられています。結果なし...

api.run(['$http',function($http) { 
    console.log("set host"); 
    $http.defaults.headers.common.Host = "api.somesite.com"; 
}]); 

: は、私はすでに、HTTPインターセプタを実装しようとしたERROR 500と、サーバ応答、および開発ツールは、要求がIPアドレスに設定ヘッダ「ホスト」を持っていたことを示しています。

また、ip(DNSなし)を使用してWebサイトにhttp要求を行う他の方法はありますか?

+0

これはまったく完全に不可能です。 'Host:'ヘッダはブラウザによってのみ管理されます。 – SLaks

答えて

1

Hostは、XMLHttpRequest/fetch仕様ではforbidden header nameと定義されているため、ブラウザのJavaScriptから設定することはできません。

DNSをソートするか、クライアントごとにシステムホストファイルを編集するか、URLを解決する方法を知っているHTTPプロキシを使用するように各クライアントを設定することが、この問題を解決する唯一の方法です。

関連する問題