반응형
express.js에서 요청을 시작한 도메인을 얻으려면 어떻게해야합니까?
나는 express.js를 사용하고 있으며 호출을 시작하는 도메인을 알아야합니다. 이것은 간단한 코드입니다
app.get(
'/verify_license_key.json',
function( req, res ) {
// do something
req또는 res개체 에서 도메인을 가져 오려면 어떻게합니까 ? somesite.com 또는 someothersite.com에서 API를 호출했는지 알아야합니다. 나는 모두의 console.dir 일을 시도 req하고 res있지만, 나 또한 문서를 읽을 수 있지만 그것은 나에게 아무런 도움을주지 않았다, 거기에서 아무 생각 없어.
HOST헤더 에서 검색해야합니다 .
var host = req.get('host');
HTTP 1.0에서는 선택 사항이지만 1.1에서는 필요합니다. 또한 앱은 항상 자체 요구 사항을 부과 할 수 있습니다.
이것이 cross-origin 요청 을 지원하는 경우 대신 Origin헤더 를 사용합니다 .
var origin = req.get('origin');
일부 교차 출처 요청에는 " preflight "요청을 통한 유효성 검사가 필요합니다 .
req.options('/route', function (req, res) {
var origin = req.get('origin');
// ...
});
클라이언트의 IP를 찾는 경우 다음을 사용하여 검색 할 수 있습니다.
var userIP = req.socket.remoteAddress;
서버가 프록시 뒤에있는 경우 프록시의 IP를 제공 할 수 있습니다. 사용자의 IP를 얻을 수 있는지 여부는 프록시가 전달하는 정보에 따라 다릅니다. 그러나 일반적으로 헤더에도 있습니다.
대신에:
var host = req.get('host');
var origin = req.get('origin');
다음을 사용할 수도 있습니다.
var host = req.headers.host;
var origin = req.headers.origin;
Express 4.x에서는 req.hostname포트없이 도메인 이름을 반환 하는를 사용할 수 있습니다 . 즉 :
// Host: "example.com:3000"
req.hostname
// => "example.com"
반응형
'Program Club' 카테고리의 다른 글
| 현재 IPython 노트북 이름을 얻는 방법 (0) | 2020.12.11 |
|---|---|
| 단일 프로세서 시스템에서 멀티 스레딩을 구현할 수 있습니까? (0) | 2020.12.11 |
| 스칼라 : 부울에서 옵션으로 (0) | 2020.12.11 |
| Jenkins 빌드를 원격으로 트리거하고 매개 변수를 전달하는 방법 (0) | 2020.12.11 |
| Akka 배우의 Forward와 Tell의 차이점 (0) | 2020.12.11 |