2016-07-27 2 views
1

에서 사용하는 IP를 사용하는 :어떻게이 같은 요청을 보낼 편안하고 API 요청

GET https://220.181.57.217/v1/groups 
Host: test.restapi.foobar.com 

을하지만이 오류가있어 :

error: SSLError: hostname '220.181.57.217' doesn't match 'test.restapi.foobar.com' while doing GET request to URL: https://220.181.57.217/v1/groups

rfc2616: Hypertext Transfer Protocol -- HTTP/1.1에 따르면, 호스트가 얼마나 때문이다 결정 :

  1. If Request-URI is an absoluteURI, the host is part of the Request-URI. Any Host header field value in the request MUST be ignored.

  2. If the Request-URI is not an absoluteURI, and the request includes a Host header field, the host is determined by the Host header field value.

요청 URI에 IP를 사용하는 이유는 다음과 같습니다. 중국에서는 모바일 DNS 해상도가 좋지 않습니다. IP로 API 서버를 연결하는 것이 훨씬 좋습니다.

달성 방법이 있습니까?

감사합니다!

+0

'API '와 통신하기 위해 cURL을 사용한다면'CURLOPT_SSL_VERIFYPEER'와'CURLOPT_SSL_VERIFYHOST'를 꺼 버릴 수 있습니다. – DarkBee

+0

감사합니다, @DarkBee. 하지만 그건 옵션이 아닙니다. 데이터 전송을 안전하게 유지하고 싶습니다. –

+0

그 다음 afaik 당신은 적절한 호스트 이름을 사용해야합니다. 왜냐하면 SSL 인증서에 설정 한 호스트 이름이 있기 때문입니다. – DarkBee

답변

0

IP 다음에 포트 번호가 있는지 여부에 관계없이 GET URL을 확인하십시오. http, https 프로토콜 및 REST API 경로입니다.

+0

IP 이후에는 포트가없고 프로토콜은 httpS입니다. API 서비스가 내 팀원에 의해 개발되었으므로 확신합니다. :) –

관련 문제