start

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
最新のリビジョン両方とも次のリビジョン
start [2022/11/22 08:25] ともやんstart [2022/11/27 03:27] ともやん
行 136: 行 136:
 ====== Dokuwiki Top ====== ====== Dokuwiki Top ======
 <php> <php>
-function curlGet($url, $referer) {+function curlGet($url, $referer='') {
   $curl = curl_init();   $curl = curl_init();
      
   curl_setopt($curl, CURLOPT_URL, $url);   curl_setopt($curl, CURLOPT_URL, $url);
-  curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');+  curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない
   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // curl_execの結果を文字列で返す   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // curl_execの結果を文字列で返す
行 153: 行 153:
 //$json = curlGet('https://www.gaitameonline.com/rateaj/getrate'); //$json = curlGet('https://www.gaitameonline.com/rateaj/getrate');
 //$json = curlGet('https://info.finance.yahoo.co.jp/fx/async/getRate'); //$json = curlGet('https://info.finance.yahoo.co.jp/fx/async/getRate');
-$json = curlGet('https://finance.yahoo.co.jp/web-fx/ajax', 'https://finance.yahoo.co.jp/quote/USDJPY=FX'); +//$json = curlGet('https://finance.yahoo.co.jp/web-fx/ajax', 'https://finance.yahoo.co.jp/quote/USDJPY=FX'); 
-$json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');+$html = curlGet('https://www.google.com/finance/quote/USD-JPY'); 
 +//$html = curlGet('https://www.google.com/finance/quote/CNH-JPY'); 
 +$html = mb_convert_encoding($html, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); 
 +preg_match_all('/AF_initDataCallback\(\{.*?(?<json>.*?)\}\);/', $html, $matchs); 
 +$html = $matchs['json'][3]; 
 +$json = json_encode($matchs['json']); 
 +//$json = json_decode($matchs['json'][1], false); 
 //$usdjpy = json_decode($json, true)['quotes'][20]; //$usdjpy = json_decode($json, true)['quotes'][20];
-$usdjpy = json_decode($json, true)['USDJPY']; +echo '<script>'; 
-$cnhjpy = json_decode($json, true)['CNHJPY'];+echo 'var quotes = ' . $json . ';'; 
 +echo '</script>'; 
 +$usdjpy = []; //json_decode($json, true)['USDJPY']; 
 +$cnhjpy = []; //json_decode($json, true)['CNHJPY'];
  
 +//print_r($matchs['json']);
 +//print_r($json);
 +//print_r($html);
 //print_r($usdjpy); //print_r($usdjpy);