2017-04-07 6 views
0

GitHub Repodoc을 확인했지만 여전히 배관공에서 클라이언트 IP를 얻는 방법을 알 수 없습니다. 여기 R 배관구에서 클라이언트 IP 주소를 얻는 방법

내가 시도 구현, 난
#' @post /v1/rl 
rl_v1 <- function(a, b, c){ 
    request='rl' 
    start_time <- as.numeric(as.POSIXct(Sys.time())) 
    log_record <- paste(NULL, Sys.time(), request, "requested", NULL, NULL, 
        sep=",") 
    cat(paste(log_record, "\n", sep=""), file=log_file_name, append=T) 

    lhs <- data.frame(a=unlist(a), 
       b=unlist(b), 
       c=unlist(c)) 

    pairs <- custom_function(lhs, rhs, m_w = 0.98, 
           ext_blk_field=c(12), international=T, 
           fasterWcoBlock=T, preprocessedData2=T) 
    input_records=nrow(lhs) 
    matches=nrow(pairs) 
    query_time <- as.numeric(as.POSIXct(Sys.time())) - start_time 
    status <- data.frame(query_time=query_time, 
        request=request, 
        type='POST', 
        api_version=api_version_v1) 

    log_record <- paste(NULL, Sys.time(), request, "responded", 
        round(matches/input_records*100, 2), 
        paste0(matches, '/', input_records, ' in ', query_time), 
        sep=",") 
    cat(paste(log_record, "\n", sep=""), file=log_file_name, append=T) 

    return(list(data=pairs, status=status)) 
} 

어떤 도움

이 높게 평가되어, 로그 파일에 모든 요청에 ​​대해 IP 주소를 추가합니다.

+0

여기서 정확히 무엇을 말하고 있습니까? IP를 어디에서 얻으려고하십니까? 갖고 계신 코드를 보여 주며, 귀하가 작성한 코드를 설명하는 최소한의 [재현 가능한 예제] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 준비하십시오. 필요한 것. – MrFlick

+2

'배관공 '은 ['httpuv'] (https://github.com/rstudio/httpuv)를 사용하기 때문에 ['req $ REMOTE_ADDR'] (https://github.com/rstudio/httpuv)에 접근 할 수 있습니다/search? utf8 = % E2 % 9C % 93 & q = remote_addr & type =) 요청 핸들의 속성. – r2evans

+0

감사합니다. @ r2evans가 작동했습니다 ... –

답변

3

내가 코멘트를 재 작성거야, 질문을 닫으려면 배관공 httpuv를 사용

때문에, 당신이 요청 핸들의 req$REMOTE_ADDR 속성을 도달 할 수있는 가능성이 있습니다.

관련 문제