POST 요청을 허용하는 "page.php"와 같은 서버 측 스크립트로 데이터를 전송하려면 다음 단계를 따르세요. :
초기화 요청:
URL 인스턴스화 개체를 지정하고 연결 열기:
URL aaa = new URL("http://www.example.com/page.php"); URLConnection ccc = aaa.openConnection();
POST 설정:
POST 데이터 제출을 허용하도록 연결 구성:
ccc.setDoOutput(true); ccc.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
쿼리 매개변수 인코딩:
요청 매개변수 변환 (예: id=10)을 인코딩된 쿼리 문자열로:
String data = "id=" + URLEncoder.encode("10", "UTF-8");
데이터 전송:
연결의 출력 스트림에 데이터 쓰기:
OutputStreamWriter wr = new OutputStreamWriter(ccc.getOutputStream()); wr.write(data); wr.flush();
응답 처리:
서버 응답 획득 및 처리:
BufferedReader br = new BufferedReader(new InputStreamReader(ccc.getInputStream())); String response = br.readLine();
업데이트 답변:
Apache HTTP 구성 요소를 사용하는 Java 프로그래머의 경우, 최신 방법에는 HttpClients 및 HttpPost가 포함됩니다. 매개변수는 NameValuePair 목록으로 전달되고 UrlEncodedFormEntity로 인코딩된 다음 서버에 제출됩니다.
HttpClient httpclient = HttpClients.createDefault(); HttpPost httppost = new HttpPost("http://www.a-domain.example/foo/"); List<NameValuePair> params = new ArrayList<>(2); params.add(new BasicNameValuePair("param-1", "12345")); params.add(new BasicNameValuePair("param-2", "Hello!")); httppost.setEntity(new UrlEncodedFormEntity(params, "UTF-8")); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); if (entity != null) { try (InputStream instream = entity.getContent()) { // Process the response here. } }
자세한 내용은 Apache HTTP 구성 요소 설명서를 참조하세요.
위 내용은 Java에서 HTTP POST 요청을 보내는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!