태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'Languages'에 해당되는 글 140건

  1. PHP-include 와 require 의 차이점 2013.10.29
  2. Java-HTTPS 통신 (링크) 2013.10.18
  3. Java-HTTPS 주소의 파일 다운로드 2013.10.16

PHP-include 와 require 의 차이점

 

출처:

require: http://php.net/manual/en/function.require.php
include: http://php.net/manual/en/function.include.php

 

 

  • require
    • 원문: require is identical to include except upon failure it will also produce a fatal E_COMPILE_ERROR level error. In other words, it will halt the script whereas include only emits a warning (E_WARNING) which allows the script to continue.
    • require 는 에러가 발생될 때 E_COMPILE_ERROR 수준으로 오류가 생성됩니다. 즉, 스크립트에러가 발생하게 되면 계속 컴파일을 하는 include 와 달리 오류를 발생하며 더 이상 페이지를 로드하지 않게 됩니다.
    • C#에서 #include 와 같습니다.
  • include
    • 원문:
    • The include statement includes and evaluates the specified file.

      The documentation below also applies to require.

      Files are included based on the file path given or, if none is given, the include_path specified. If the file isn't found in the include_path, include will finally check in the calling script's own directory and the current working directory before failing. The include construct will emit a warning if it cannot find a file; this is different behavior from require, which will emit a fatal error.

      If a path is defined — whether absolute (starting with a drive letter or \ on Windows, or / on Unix/Linux systems) or relative to the current directory (starting with . or ..) — theinclude_path will be ignored altogether. For example, if a filename begins with ../, the parser will look in the parent directory to find the requested file.

      For more information on how PHP handles including files and the include path, see the documentation for include_path.

      When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables available at that line in the calling file will be available within the called file, from that point forward. However, all functions and classes defined in the included file have the global scope.

    • include 는 외부 파일을 불러올 때 사용합니다. 페이지에서 로드할 때마다 새롭게 갱신(로드)하여 페이지에서 컴파일되어 보여지게 되는데, 스크립트의 에러가 발생하더라도 중지되지 않고 나머지 내용을 페이지에 출력합니다.
    • 일반적인 페이지 출력을 위해서 사용되며, include 문장을 만날 때 호출이 됩니다.
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

'Languages > others' 카테고리의 다른 글

PHP-include 와 require 의 차이점  (0) 2013.10.29

Java-HTTPS 통신 (링크)

 

 

 

  1. http://tjjava.blogspot.kr/2012/03/https.html
  2. http://java2go.net/blog/197

 

 

 

  • 간단한 예제
    • HTTPS Client 프로그램입니다.
    • 물론 아래의 예제를 사용하면 인증서 관련 에러가 발생될 수 있습니다.
    • 이에 관련하여 아래의 포스팅을 참고해 주세요.
      package foo;
      
      import java.net.URL;
      import java.io.*;
      import javax.net.ssl.HttpsURLConnection;
      
      public class JavaHttpsExample
      {
        public static void main(String[] args)
        throws Exception
        {
          String httpsURL = "https://your.https.url.here/";
          URL myurl = new URL(httpsURL);
          HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();
          InputStream ins = con.getInputStream();
          InputStreamReader isr = new InputStreamReader(ins);
          BufferedReader in = new BufferedReader(isr);
      
          String inputLine;
      
          while ((inputLine = in.readLine()) != null)
          {
            System.out.println(inputLine);
          }
      
          in.close();
        }
      }

 

출처: http://alvinalexander.com/blog/post/java/simple-https-example

신고
크리에이티브 커먼즈 라이선스
Creative Commons License

Java-HTTPS 주소의 파일 다운로드

 

 

HTTPS 건 HTTP건 일반적인 환경에서 URL 접속은 대게 아래와 같이 사용하고 있습니다.

    URL url = new URL("https://hostname:port/file.txt");
    URLConnection connection = url.openConnection();
    InputStream is = connection.getInputStream();
    // .. then download the file

 

 

하지만 HTTPS 환경에서는 server 인증서가 없거나 지정하지 않을 경우 아래와 같은 오류를 만나게 됩니다.

    avax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ......... ........... ..........

 

 

그렇기 때문에 인증서가 있다면 인증서의 위치를 지정해줘야 하지만, 인증서가 없을 경우에는 아래와 같이 작성해서 사용할 수 있습니다.

    // Create a new trust manager that trust all certificates
    TrustManager[] trustAllCerts = new TrustManager[]{
        new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return null;
            }
            public void checkClientTrusted(
                java.security.cert.X509Certificate[] certs, String authType) {
            }
            public void checkServerTrusted(
                java.security.cert.X509Certificate[] certs, String authType) {
            }
        }
    };
    
    // Activate the new trust manager
    try {
        SSLContext sc = SSLContext.getInstance("SSL");
        sc.init(null, trustAllCerts, new java.security.SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    } catch (Exception e) {
    }
    
    // And as before now you can use URL and URLConnection
    URL url = new URL("https://hostname:port/file.txt");
    URLConnection connection = url.openConnection();
    InputStream is = connection.getInputStream();
    // .. then download the file

 

 

 

이 방법이 해답은 아니며, HTTPS 프로토콜을 사용한다면 서버의 인증서를 지정하는 방식을 사용하는 것을 권합니다.

 

 

출처: http://stackoverflow.com/questions/10135074/download-file-from-https-server-using-java


기타 HTTPS 파일 다운로드 예제

http://www.mkyong.com/java/java-https-client-httpsurlconnection-example/



신고
크리에이티브 커먼즈 라이선스
Creative Commons License
|  1  |  2  |  3  |  4  |  ···  |  47  |


티스토리 툴바