- SocketCreate
- SocketClose
- SocketConnect
- SocketIsConnected
- SocketIsReadable
- SocketIsWritable
- SocketTimeouts
- SocketRead
- SocketSend
- SocketTlsHandshake
- SocketTlsCertificate
- SocketTlsRead
- SocketTlsReadAvailable
- SocketTlsSend
- WebRequest
- SendFTP
- SendMail
- SendNotification
WebRequest
함수는 지정된 서버로 HTTP 요청을 보냅니다. 함수에는 두 가지 버전이 있습니다.
1. 헤더 Content-Type: application/x-www-form-urlencoded 를 사용해 "key=value" 유형의 단순 호출을 전송합니다.
int WebRequest(
|
2. 다양한 웹 서비스와 보다 유연한 상호 작용을 위해 커스텀 헤더 집합을 지정하는 모든 유형의 요청을 보냅니다.
int WebRequest(
|
Parameter
method
[in] HTTP 메소드.
url
[in] URL.
headers
[in] 줄 바꿈 "\r\n"으로 구분된 "key: value" 유형의 헤더 요청.
cookie
[in] 쿠키 값.
referer
[in] HTTP 요청의 레퍼러 헤더 값.
timeout
[in] 밀리세컨드 단위 타임아웃.
data[]
[in] HTTP 메시지 본문의 데이터 배열.
data_size
[in] data[] 배열의 사이즈.
result[]
[out] 서버 응답 데이터를 포함하는 배열.
result_headers
[out] 서버 반응 헤더.
반환값
HTTP 서버 응답 코드 또는 오류에대해 -1.
참고
WebRequest() 기능을 사용하려면, "Options" 창의 "Expert Advisors" 탭에 있는 허용된 URL 목록에 필요한 서버의 주소를 추가하십시오. 서버 포트는 지정된 프로토콜에 따라 자동으로 선택됩니다. - "http://"의 경우 80, "https://"의 경우 443.
WebRequest() 함수는 동기식이며, 이는 프로그램이 프로그램 실행을 중단하고 요청한 서버의 응답을 기다린다는 것을 의미합니다. 응답 수신 지연이 클 수 있으므로, 지표 모든 지표와 차트가 하나의 심볼에 공유하는 공통 스레드에서 실행되므로 지표의 호출에 대해 함수를 사용할 수 없습니다. 심볼 차트 중 하나에 대한 지표 성능 지연으로 인해 동일한 심볼을 가진 모든 차트의 업데이트가 중지될 수 있습니다.
이 함수는 자체 실행 스레드에서 실행되므로 Expert Advisor 및 스크립트에서만 호출할 수 있습니다. 지표에서 함수를 호출하려고 하면, GetLastError()가 오류 4014 – "호출을 허용하지 않는 함수입니다"를 반환합니다.
WebRequest()는 Strategy Tester에서 실행될 수 없습니다.
예:
void OnStart()
|