|
6 | 6 |
|
7 | 7 | class OpenGraph |
8 | 8 | { |
9 | | - public function fetch($url, $allMeta = null) |
| 9 | + public function fetch($url, $allMeta = null, $lang = null) |
10 | 10 | { |
11 | | - $html = $this->curl_get_contents($url); |
12 | | - |
| 11 | + $html = $this->curl_get_contents($url, $lang); |
13 | 12 | /** |
14 | 13 | * parsing starts here:. |
15 | 14 | */ |
@@ -45,16 +44,35 @@ public function fetch($url, $allMeta = null) |
45 | 44 | return $metadata; |
46 | 45 | } |
47 | 46 |
|
48 | | - protected function curl_get_contents($url) |
| 47 | + protected function curl_get_contents($url, $lang) |
49 | 48 | { |
50 | | - $curl = curl_init($url); |
51 | | - curl_setopt($curl, CURLOPT_FAILONERROR, 1); |
52 | | - curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); |
53 | | - curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); |
54 | | - curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); |
55 | | - curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); |
56 | | - curl_setopt($curl, CURLOPT_TIMEOUT, 30); |
57 | | - curl_setopt($curl, CURLOPT_ENCODING, 'UTF-8'); |
| 49 | + $headers = [ |
| 50 | + 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', |
| 51 | + 'Cache-Control: no-cache', |
| 52 | + 'User-Agent: Curl', |
| 53 | + ]; |
| 54 | + |
| 55 | + if ($lang) { |
| 56 | + array_push($headers, 'Accept-Language: '.$lang); |
| 57 | + } |
| 58 | + |
| 59 | + $curl = curl_init(); |
| 60 | + |
| 61 | + curl_setopt_array($curl, [ |
| 62 | + CURLOPT_URL => $url, |
| 63 | + CURLOPT_FAILONERROR => false, |
| 64 | + CURLOPT_FOLLOWLOCATION => true, |
| 65 | + CURLOPT_RETURNTRANSFER => true, |
| 66 | + CURLOPT_SSL_VERIFYHOST => false, |
| 67 | + CURLOPT_SSL_VERIFYPEER => false, |
| 68 | + CURLOPT_ENCODING => 'UTF-8', |
| 69 | + CURLOPT_MAXREDIRS => 10, |
| 70 | + CURLOPT_TIMEOUT => 30, |
| 71 | + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, |
| 72 | + CURLOPT_CUSTOMREQUEST => 'GET', |
| 73 | + CURLOPT_HTTPHEADER => $headers, |
| 74 | + ]); |
| 75 | + |
58 | 76 | $response = curl_exec($curl); |
59 | 77 | curl_close($curl); |
60 | 78 |
|
|
0 commit comments