자바 웹 페이지 내용 획득
http://code.google.com/intl/zh-CN/appengine/docs/java/urlfetch/usingjavanet.html
App Engine 응용 프로그램 은 다른 응용 프로그램 과 통신 하거나 인터넷 주 소 를 캡 처 하여 네트워크 의 다른 자원 에 접근 할 수 있 습 니 다.응용 프로그램 은 웹 주소 캡 처 서 비 스 를 사용 하여 HTTP 와 HTTPS 요청 을 보 내 고 응답 을 받 을 수 있 습 니 다.효율 성과 확장 성 을 고려 하여 사이트 캡 처 서 비 스 는 Google 의 네트워크 기반 구 조 를 사용 합 니 다.
자바 표준 라 이브 러 리 의 자바.net.URLConnection 과 관련 클래스 를 사용 하여 자바 응용 프로그램 을 통 해 HTTP 와 HTTPS 연결 을 만 들 수 있 습 니 다.App Engine 은 인터넷 주소 캡 처 서 비 스 를 사용 하여 이 인 터 페 이 스 를 실현 합 니 다.프로그램 이 소켓 연결 을 직접 만 들 지 않 았 습 니 다.
한 사이트 의 페이지 내용 을 가 져 오 는 간단 한 방법 은 자바.net.URL 대상 을 만 들 고 호출 하 는 것 입 니 다
openStream()
.이 방법 은 연결 을 만 드 는 상세 한 정 보 를 처리 하고 HTTP GET 요청 을 한 다음 응답 데 이 터 를 검색 할 수 있 습 니 다.import java.net.MalformedURLException;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
// ...
try {
URL url = new URL("http://www.example.com/atom.xml");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
String line;
while ((line = reader.readLine()) != null) {
// ...
}
reader.close();
} catch (MalformedURLException e) {
// ...
} catch (IOException e) {
// ...
}
더 복잡 한 요청 에 대해 서 는 URL 대상
openConnection()
방법 을 사용 하여 URL connection 대상(HttpURLConnection 또는 HttpsURLConnection,주소 에 따라 정 함)을 가 져 올 수 있 습 니 다.요청 을 보 내기 전에 이 대상 을 더 많은 정보 로 준비 할 수 있 습 니 다.자바.net 사용 참조.청 하 다
응용 프로그램 은 HTTP(정상)또는 HTTPS(보안)를 사용 하여 웹 주 소 를 캡 처 할 수 있 습 니 다.사이트 주소 지정 에 사용 할 방안:
http://...
또는https://...
웹 주 소 는 표준 HTTP(80)와 HTTPS(443)포트 를 사용 해 야 합 니 다.포트 는 방안 에 의 해 암시 되 지만 포트 가 방안 에 대해 표준 이 라면 사이트 주소 에서 도 언급 할 수 있다https://...:443/
.응용 프로그램 은 원 격 호스트 의 임의의 포트 에 연결 할 수 없고,프로젝트 의 비표 준 포트 를 사용 할 수 없습니다.다음 과 같은 모든 HTTP 방법 으로 캡 처 할 수 있 습 니 다.
GET
(요청 페이지 와 데이터 에 자주 사용),POST
(네트워크 폼 제출 에 자주 사용),PUT
,HEAD
와DELETE
.캡 처 는 HTTP 요청 헤더 와 유효 부하(HTTP 요청 본문)를 포함 합 니 다.웹 주소 캡 처 서 비 스 는 결 과 를 캡 처 하기 위해 HTTP/1.1 호 환 에이 전 트 를 사용 합 니 다.
프로그램 이 요청 한 무한 순환 을 방지 하기 위해 서 는 요청 처리 프로그램 이 자신의 웹 주 소 를 캡 처 하 는 것 을 허용 하지 않 습 니 다.그러나 다른 방법 은 여전히 무한 순환 을 일 으 킬 수 있 기 때문에 프로그램 이 사용자 가 제공 하 는 인터넷 주소 에 대한 요청 을 캡 처 할 수 있다 면 매우 조심해 야 한다.
사이트 캡 처 서비스 에 대한 호출 은 동기 화 되 며,서비스 가 원 격 호스트 로부터 응답 을 받 을 때 까지 되 돌아 오지 않 습 니 다.응용 프로그램의 요청 타 이 머 는 원 격 호스트 가 응답 하기 전에 끝 날 수 있 습 니 다.요청 이 일단 발송 되면 취소 할 수 없습니다.
보안 연결 과 HTTPS
응용 프로그램 은 안전 한 서버 에 연결 하기 위해 HTTPS 방법 으로 인터넷 주 소 를 캡 처 할 수 있다.요청 과 응답 데 이 터 는 암호 화 형식 으로 네트워크 에서 전송 된다.
사이트 캡 처 서비스 에 사용 되 는 프 록 시 는 연 결 된 호스트 를 검증 할 수 없습니다.인증서 신뢰 체인 이 존재 하지 않 기 때문에 프 록 시 는 자체 서명 인증 서 를 포함 한 모든 인증 서 를 받 습 니 다.HTTPS 를 사용 할 때 프 록 시 서버 는 앱 엔진 과 원 격 호스트 사이 의'브로커'공격 을 감지 할 수 없습니다.
요청 헤더
응용 프로그램 은 전송 요청 을 위해 HTTP 레이 블 을 설정 할 수 있 습 니 다.
HTTP POST 요청 을 보 낼 때
Content-Type
레이 블 을 명확 하 게 설정 하지 않 으 면 레이 블 이x-www-form-urlencoded
로 설 정 됩 니 다.이것 은 네트워크 폼 에 사용 되 는 내용 유형 입 니 다.안전성 을 고려 하여 응용 프로그램 은 다음 과 같은 레이 블 을 수정 할 수 없습니다.
Content-Length
Host
Referer
Vary
Via
X-Forwarded-For
상황 에 따라 앱 엔진 에서 이 헤더 들 을 정확 한 값 으로 설정 합 니 다.예 를 들 어 앱 엔진 은 요청 데이터 계산
Content-Length
레이 블 을 통 해 보 내기 전에 요청 에 추가 합 니 다.호응
사이트 캡 처 서 비 스 는 응답 코드,헤더,본문 을 포함 한 모든 응답 데 이 터 를 되 돌려 줍 니 다.
기본 적 인 상황 에서 사이트 캡 처 서비스 가 재 설정 코드 가 있 는 응답 을 받 으 면 서 비 스 는 재 설정 을 따 를 것 입 니 다.서 비 스 는 최대 5 개의 리 셋 응답 을 따라 최종 자원 으로 돌아 갑 니 다.API 알림 사이트 캡 처 를 사용 하여 방향 을 바 꾸 지 말고 프로그램 에 대한 방향 변경 응답 만 되 돌려 줄 수 있 습 니 다.
기본 적 인 상황 에서 응답 이 최대 응답 크기 제한 을 초과 하면 응답 을 차단 합 니 다.응답 이 최대 시간 을 초과 하면 API 를 사용 하여 서비스 에 이상 을 일 으 킬 수 있 습 니 다.(이 제한 값 에 대해 서 는 다음 글 을 참조 하 시기 바 랍 니 다.)
회사 방화벽 뒤에 있 는 호스트 에 연락 하 세 요.
Google 보안 데이터 커 넥 터(SDC)를 사용 하면 회사 방화벽 다음 시스템 에 프로그램 을 연결 할 수 있 습 니 다.인터넷 에 설 치 된 SDC 에이 전 트 를 통 해 Google 기업 애플 리 케 이 션 키 트 영역 에서 실행 중인 App Engine 애플 리 케 이 션 은 에이 전 트 를 검증 하고 인 트 라 넷 의 인터넷 주 소 를 방문 할 수 있 습 니 다.SDC 에이 전 트 는 인 트 라 넷 에 애플 리 케 이 션 이 연 결 될 수 있 도록 하고,도 메 인 에 Google 기업 애플 리 케 이 션 계 정 으로 로그 인 한 사용자 만 이 작업 을 수행 할 수 있 도록 합 니 다.
응용 프로그램 은 인터넷 주소 캡 처 서 비 스 를 사용 하여 인 트 라 넷 주소 에 접근 할 수 있 습 니 다.응용 프로그램 은 특수 한 레이 블 을 포함 하고 있 으 며,요청 은 SDC 에이 전 트 를 위 한 것 임 을 설명 합 니 다.헤더 의 이름 은
use_intranet
이 고 값 은yes
이다.다른 변경 사항 필요 없 음;사용자 인증,검증,보안 연결 을 자동 으로 처리 합 니 다.다음은 자바.net.HttpURLConnection 인 터 페 이 스 를 통 해 사이트 주 소 를 캡 처
use_intranet
헤더 와 결합 하여 사용 하 는 예제 입 니 다.import java.net.HttpURLConnection;
import java.net.URL;
// ...
URL url = new URL("http://www.corp.example.com/sales.csv");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestProperty("use_intranet", "true");
더 많은 정 보 는 Google 보안 데이터 커 넥 터 사 이 트 를 참조 하 십시오.
사이트 캡 처 및 개발 서버
응용 프로그램 이 컴퓨터 의 개발 서버 에서 실 행 될 때 웹 주소 캡 처 서비스 호출 을 로 컬 에서 처리 합 니 다.서버 를 개발 하여 컴퓨터 로 인터넷 에 접근 하 는 모든 네트워크 설정 을 사용 하고 컴퓨터 에서 원 격 호스트 에 직접 연락 하여 웹 주 소 를 캡 처 합 니 다.
인터넷 주 소 를 캡 처 하 는 프로그램의 기능 을 테스트 할 때 컴퓨터 가 원 격 호스트 에 접근 할 수 있 는 지 확인 하 십시오.
응용 프로그램 이 인 트 라 넷 에서 Google 보안 데이터 연결 기 를 사용 하여 인터넷 주 소 를 방문 할 경우 방화벽 뒤에 연 결 된 인 트 라 넷 에서 응용 프로그램 을 테스트 하 는 지 확인 하 십시오.앱 엔진 과 달리 개발 서버 는 인 트 라 넷 주 소 를 SDC 프 록 시 를 사용 하지 않 는 다.Google 기업 애플 리 케 이 션 키 트 와 App Engine 만 SDC 에이 전 트 를 검증 할 수 있 습 니 다.
할당량 과 제한
모든 사이트 캡 처 요청 은 사이트 캡 처 API 호출 할당량 에 계 산 됩 니 다.
웹 주소 캡 처 서 비 스 를 사용 하여 HTTP 또는 HTTPS 요청 에서 보 낸 데 이 터 는 다음 할당량 에 계 산 됩 니 다.
할당량 을 제외 하고 사이트 캡 처 서 비 스 를 사용 하려 면 다음 과 같은 제한 을 따라 야 한다.
제한 하 다.
값.
요청 크기
1 메가바이트
응답 크기
1 메가바이트
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.