요청 방법 get이 지원되지 않습니다

보안 강화를 위해, Domino 12 웹 서버는 기본적으로 GET /names.nsf?Login 요청을 허용하지 않습니다.

12 이전 서버에서 이 유형의 요청을 사용한 경우, Domino 12로 업그레이드하면 서버 콘솔에 다음 오류가 로깅됩니다.

HTTP 웹 서버: [/names.nsf?login] 조작은 수행할 수 없습니다. 

이전에 /names.nsf?login을 사용하여 로그인 페이지를 생성했다면 서버가 로그인 페이지를 생성하도록 강제하기 위해 자원에 대해 GET을 발행하는 것이 가장 좋습니다. 예를 들어, GET /names.nsf는 대부분의 경우에 작동합니다.

다음 notes.ini 설정을 사용하여 12 이전 동작으로 되돌리고 GET /names.nsf?Login 요청을 허용하는 방법도 있지만, 이는 권장되지 않습니다.

DOMINO_REJECT_GET_LOGIN=0

2022년 7월 20일 | 230 명이 봄 | 0 명이 이 정보가 유용하다고 평가했습니다.

Board, 룸 또는 데스크 장치에서 HTTP 요청 보내기

이 기능은 Board, 룸 또는 데스크 장치에서 HTTP(S) 서버로 임의 HTTP(S) 요청을 보낼 수 있습니다. 또한, 장치는 서버가 다시 전송하는 응답을 수신합니다. 장치는 게시물, 게시, 패치, Get 및 삭제 방법을 지원합니다.

요청 방법 get이 지원되지 않습니다

매크로를 사용하면 원할 때마다 HTTP(S) 서버로 데이터를 보낼 수 있습니다. 전송할 데이터를 선택하고 원하는 데이터로 구성할 수 있습니다. 이렇게 하면 데이터를 이미 설정한 서비스에 적용할 수 있습니다.

보안 조치:

  • HTTP(S) 클라이언트 요청 기능은 기본값으로 비활성화됩니다. 시스템 관리자는 기능을 명시적으로 활성화해야 합니다. xConfiguration HttpClient Mode: On ).

  • 시스템 관리자는 HttpClient 할 수 있습니다 . xConfiguration HttpClient AllowHTTP: False ).

  • 시스템 관리자는 장치가 데이터를 보낼 수 있도록 HTTP(S) 서버의 목록을 지정할 수 있습니다. (참조: xCommand HttpClient Allow Hostname 명령어.)

  • 동시 HTTP(S) 요청의 수는 제한됩니다.

이 문서에서 참조하는 구성은 장치의 웹 인터페이스 및 API에서 모두 사용할 수 있습니다. 명령어는 API에서 사용할 수 있습니다. 웹 인터페이스 에 액세스하고 API를 사용하는 방법에 대한 정보는 고급 설정 문서를 참조하십시오.

시스템 관리자는 다음 명령어를 사용하여 최대 10개 허용되는 HTTP(S) 서버(호스트) 목록을 설정하고 유지 관리할 수 있습니다.

  • xCommand HttpClient Allow Hostname Add Expression: <Regular expression that matches the host name or IP address of the HTTP(S) server>

  • xCommand HttpClient Allow Hostname Clear

  • xCommand HttpClient Allow Hostname List

  • xCommand HttpClient Allow Hostname Remove Id: <id of an entry in the list>

목록이 비어 있지 않은 경우, 목록의 서버로만 HTTP(S) 요청을 보낼 수 있습니다. 목록이 비어있는 경우, 요청을 HTTP(S) 서버로 보낼 수 있습니다.

데이터의 비보안(HTTP) 및 보안(HTTPS) 전송을 사용할 때 허용되는 서버의 목록에 대한 검사는 모두 실행됩니다.

인증서 유효성 검증하지 않은 HTTPS

HTTPS를 통해 요청을 보낼 때 장치는 기본값으로 HTTPS 서버의 인증서를 확인합니다. HTTPS 서버 인증서가 유효하지 않은 경우, 오류 메시지를 수신합니다. 장치는 해당 서버로 데이터를 보내지 않습니다.

인증서 유효성 검증으로 HTTPS를 사용할 것이 좋습니다. 인증서 유효성 검증을 할 수 없는 경우, 를 On (으로 설정) xConfiguration HttpClient AllowInsecureHTTPS: On ). 이를 통해 서버의 인증서를 검증하지 않고 HTTPS를 사용할 수 있습니다.

HTTP(S) 요청 보내기

HTTP(S) 클라이언트 요청 기능이 활성화되면 다음 명령어를 사용하여 HTTP(S) 서버로 요청을 보낼 수 있습니다. <method> 은(는) Post , Put , Patch , Get , 또는 Delete .

  • xCommand HttpClient <Method> [AllowInsecureHTTPS: <True/False>] [Header: <Header text>] [ResponseSizeLimit: <Maximum response size>] [ResultBody: <None/PlainText/Base64>] [Timeout: <Timeout period>] Url: <URL to send the request to>

헤더 필드 추가는 선택 사항이나, 20개까지 추가할 수 있습니다.

AllowInsecureHTTPS 파라미터는 시스템 관리자가 서버의 인증서를 검증하지 않고 HTTPS의 사용을 허용한에만 적용됩니다. 이러한 경우, 파라미터가 다음으로 설정된 경우, 서버 인증서의 유효성을 검증하지 않고 서버로 데이터를 보낼 수 있습니다. True . 파라미터를 나가거나 다음으로 설정하는 경우 False 을(를) 인증서 유효성 검증에 실패하는 경우 데이터가 발송되지 않습니다.

ResposenSizeLimit 파라미터는 장치에서 서버에서 응답으로 수락하는 최대 페이로드 크기(bytes)입니다. 응답 페이로드가 최대 크기보다 큰 경우, 명령어는 상태 오류를 반환합니다. 오류 메시지는 최대 파일 크기가 초과 않았다는 메시지가 나타납니다. 단, 이는 서버 측에 영향을주지 않습니다. 서버에서 요청을 올바르게 수신하고 처리했습니다.

Webex ResultBody 파라미터를 사용하여 명령어 결과에서 서버에서 HTTP 응답의 본문을 형식화하는 방법을 결정할 수 있습니다. 다음 세 가지 옵션이 있습니다.

  • None : 명령어 결과에 HTTP 응답의 본문을 포함하지 않습니다.

  • Base64 : Base64는 결과에 포함하기 전에 본문을 인코딩합니다.

  • PlainText : 일반 텍스트로 결과에 본문을 포함. 응답에 인쇄할 수 없는 문자가 포함된 경우, 명령어는 인쇄할 수 없는 데이터가 발생했다는 메시지가 포함된 상태 오류를 반환합니다.

Webex Timeout 파라미터를 사용하여 시간 제한 기간(초)을 설정하십시오. 이 기간 동안 요청이 완료되지 않은 경우, API에서 오류를 반환합니다.

명령어를 발행한 후 바로 페이로드(데이터)를 입력합니다. 줄 수를 포함하여 입력하는 모든 것은 페이로드의 일부입니다. 완료되면 마침을 마친 후 라인 분리("\n") 및 마침을 포함하는 개별 라인 그 후(".\n")를 포함하십시오. 이제 명령어가 실행되고 데이터가 서버로 발송됩니다.

예제

메시지의 본문은 두 예제 모두에 있는 JSON입니다. 메시지를 수신하는 서비스의 예상 형식에 따라 형식이 될 수 있습니다.

예 1: HTTP Post를 사용하여 IoT 장치 제어

필립스 색조 브리지에 연결된 밝게 켜는 매크로 기능은 다음과 같습니다.


     function hue_command(data) { var url = 'http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state'; var headers = 'Content-Type: application/json'; var command = '{"on":true}'; xapi.command('HttpClient Put', { 'Url': url, 'Header': headers }, command); } 
   

API를 사용하여 명령줄에서 동일한 작업을 할 수 있습니다.


     xcommand HttpClient Put Header: "Content-Type: application/json" URL: "http://192.0.2.10/api/'ZXlU4tUtQ23Pjbdyl-kiyCjTs0i5ANDEu1ypJq0-/lights/1/state" {"on":true} . 
   

예 2: HTTP Post를 사용하여 모니터링 도구에 데이터 게시


     xcommand HttpClient Post Header: "Content-Type: application/json" URL: "https://mymonitoringserver.com/service/devicemonitoring" {"Message":"A user reported an issue with this system","systemName":"BoardRoom 4th floor","softwareVersion":"ce9.6.0","softwareReleaseDate":"2018-12-13","videoMonitors":"Dual"} . 
   

추가 정보

사용자 정의 안내서에서 HTTP 클라이언트 요청을 사용하는 방법에 대한 자세한 내용을 참조하십시오 . 최신 버전을 선택하십시오.

Cisco 지원(TAC)은 매크로를 포함하여 타사 코드의 디버깅을 지원하지 않습니다. 매크로 및 타사 코드에 대해 도움이 필요하면 Cisco 협업 개발자 커뮤니티를 체크하십시오. 또한 이 사이트에는 많은 개발자 및 통합자 리소스가 있습니다.