java. net 사용 하기
13538 단어 java.net
java. net 사용 하기
자바 표준 라 이브 러 리 java.net.URLConnection 를 사용 하여 자바 응용 프로그램 을 통 해 HTTP 와 HTTPS 연결 을 만 들 수 있 습 니 다.App Engine 은 인터넷 주소 추출 서 비 스 를 사용 하여 이 인 터 페 이 스 를 실현 합 니 다.
자바. net 에 대한 자세 한 정 보 는 Sun 의 java. net. URLConnection 문서 참조 하 시기 바 랍 니 다.
사이트 주소 에 대한 간단 한 요청
특정한 사이트 의 페이지 내용 을 가 져 오 는 간단 한 방법 은 java.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) {
// ...
}
HttpURLConnection 사용 하기
더 복잡 한 요청 에 대해 서 는 URL 대상
openConnection()
방법 을 사용 하여 URLConnection 대상 을 가 져 올 수 있 습 니 다.요청 을 보 내기 전에 이 대상 을 더 많은 정보 로 준비 할 수 있 습 니 다.요청 을 하려 면 URLConnection 의 방법 을 호출 하 십시오. 예 를 들 어 getInputStream()
또는 getOutputStream()
.App Engine 의 URLConnection 은 원 격 호스트 와 영구적 으로 연결 되 지 않 습 니 다.프로그램 이 요청 데 이 터 를 설정 하거나 출력 흐름 을 기록 할 때 요청 데 이 터 를 메모리 에 저장 합 니 다.응용 프로그램 이 응답 과 관련 된 모든 데 이 터 를 방문 할 때 입력 흐름 (또는 호출
connect()
방법) 을 얻 으 면 App Engine 은 요청 데 이 터 를 통 해 사이트 주소 추출 서 비 스 를 호출 하여 응답 을 얻 고 연결 을 닫 고 응답 데 이 터 를 되 돌려 줍 니 다.다음 예 는 일부 폼 데 이 터 를 통 해 사이트 주소 에 HTTP POST 요청 을 보 냅 니 다.
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
// ...
String message = URLEncoder.encode("my message", "UTF-8");
try {
URL url = new URL("http://www.example.com/comment");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream());
writer.write("message=" + message);
writer.close();
if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
// OK
} else {
// Server returned HTTP error code.
}
} catch (MalformedURLException e) {
// ...
} catch (IOException e) {
// ...
}
요청 헤더 설정
전송 요청 에 HTTP 레이 블 을 설정 하려 면 HttpURLConnection
setRequestProperty()
방법 을 사용 하 십시오. connection.setRequestProperty("X-MyApp-Version", "2.7.3");
방향 을 바꾸다
기본적으로 HttpURLConnection 은 HTTP 에 따라 방향 을 바 꿉 니 다.사이트 추출 서 비 스 는 최대 5 개의 재 설정 을 따 를 것 이다.
아래 의 방향 변경 을 중단 하려 면 HttpURLConnection
setInstanceFollowRedirects()
방법 을 사용 하 십시오. connection.setInstanceFollowRedirects(false);
지원 되 지 않 는 java. net 기능
웹 주소 추출 서 비 스 는 영구적 인 HTTP 연결 을 지원 하지 않 습 니 다.응용 프로그램 이 URLConnection 대상 을 사용 하여 응답 데 이 터 를 방문 할 때 App Engine 은 웹 주소 추출 서 비 스 를 호출 하여 요청 을 완료 합 니 다.응답 데이터 에 접근 한 후 요청 데 이 터 를 수정 할 수 없습니다.
프로그램 이 요청 에 명시 적 연결 시간 을 초과 할 수 없습니다.
저급 API 기능
사이트 추출 서 비 스 는 전송 요청 과 응답 하 는 데이터 크기 를 제한 합 니 다.java. net API 를 사용 할 때 이 제한 보다 큰 데 이 터 를 알림 없 이 차단 합 니 다.저급 인터넷 주 소 를 통 해 API 를 추출 하면 알림 없 이 차단 하거나 제한 을 초과 한 상태 에서 이상 을 일 으 킬 지 여 부 를 지정 할 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java.net.URLEncode 인코딩 및 URLdecode 디코딩 문제텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.