遠隔画像ソリューションを得ることは非常に遅く、アリペイアプレットの二次元コードを入手するには

二次元コードの画像内容Alipayの要求が非常に遅い溶液であります

アリペイ最近開発された小さなプロジェクトのプログラムを、インタフェースを介して、結果を得るために非常に遅い7-10秒に制限され、サーバーへのfile_get_contentsでアクセスをダウンロードした2次元コードを生成するためのもの

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)
{ 
    $ヘッダ= [ 
        'のUser-Agent:Mozillaの/ 5.0する(Windows NT 6.1、Win64の、のx64; RV:45.0)のGecko / 20100101 Firefoxの/ 45.0'、
        「受け入れ言語:ZH-CNを、 ZH; Q = 0.8、EN-US; Q = 0.5、EN; Q = 0.3' 、
        '受け入れエンコード:GZIP、DEFLATE'、
    ]。
    $カール= curl_init(); 
    ますcurl_setopt($カール、CURLOPT_URL、$ URL);
    ますcurl_setopt($カール、CURLOPT_RETURNTRANSFER、真の);
    ;ます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のコード==である){// URL形式の画像はBASE64_ENCODE形式に変換!
        imgBase64Code = $ "データ:画像/ JPEG; Base64で、" BASE64_ENCODE($データ);. 
        リターンの$ imgBase64Code; //画像コンテンツ
    }他{ 
        リターン'プロフィールが失敗ゲット'; 
    } 
}

  

おすすめ

転載: www.cnblogs.com/pxjbk/p/11874493.html