원격 영상 솔루션을 얻을 매우 느린, Alipay의 애플릿 이차원 코드를 얻으려면

요청 Alipay의 2 차원 코드 사진 함량이 매우 느린 솔루션

Alipay의 최근에 개발 된 작은 프로젝트 프로그램 인터페이스를 통해, 결과가 얻을 수있는 매우 느린 7-10초 제한됩니다, 서버에 file_get_contents와 접근을 다운로드 이차원 코드를 생성하도록 구성

img 태그 액세스가 빠르고으로, 브라우저 요청 헤더를 결정하는 것으로 추정된다

나중에 인터넷 브라우저를 시뮬레이션하기 위해 컬을 사용하여 액세스 솔루션을 찾을 수 있습니다. 테이크 초

<PHP는? 
$ camera_url = 'https://mdgw.alipay.com/wsdk/img?fileid=A*OG3WRZIq5S0AAAAAAAAAAAAAAQAAAQ&bz=am_afts_openhome&zoom=original'; 
$ camera_base64 = get_head의 ($ camera_url); 
경우 (camera_base64 $! = '') { 
    에코로 json_encode (배열 ( 'camera_base64'=> $ camera_base64) JSON_UNESCAPED_UNICODE); 
} 
기능 get_head ($ URL) 
{ 
    $ 헤더 = [ 
        '사용자 에이전트 : 모질라 / 5.0 (윈도우 NT 6.1, Win64를, 64 장, : 45.0) 게코 / 20100101 파이어 폭스 / 45.0', 
        '동의-언어들 ko-CN을, 에서 zh, Q = 0.8, EN-US, Q = 0.5, EN; Q = 0.3 ', 
        '허용 인코딩 : GZIP, DEFLATE ' 
    ]; 
    $ 컬 = curl_init (); 
    curl_setopt ($ 컬, CURLOPT_URL, $ URL);
    ($ 컬, CURLOPT_RETURNTRANSFER 사실) curl_setopt;
    ; curl_setopt (true로 $ 컬 CURLOPT_FOLLOWLOCATION) 
    curl_setopt ($ 컬 CURLOPT_ENCODING 'gzip을'); 
    curl_setopt ($ 컬 CURLOPT_HTTPHEADER, $ 헤더); 
    $ 데이터 = curl_exec ($ 컬) 
    $ 코드 = curl_getinfo ($ 컬 CURLINFO_HTTP_CODE) 
    curl_close ($ 컬), 
    file_put_contents를 ( 'aaa.png', $ 데이터); 
    IF ($ 200 코드 ==) {이다 // 형식의 이미지가 base64_encode 형식으로 변환 된 URL! 
        imgBase64Code = $ "데이터 : 이미지 / JPEG, Base64로,"는 base64_encode ($ 데이터); 
        반환 $의 imgBase64Code; // 이미지 내용 
    }는 다른 { 
        반환 '프로필이 실패 가져 오기'; 
    } 
}

  

추천

출처www.cnblogs.com/pxjbk/p/11874493.html