色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php 采集https

宋博文1年前6瀏覽0評論

PHP采集https網站用于獲取數據已經成為現在web應用開發中的一個非常常見的需求。比如我們需要采集某個電商網站的商品列表、價格、評論等信息,這些數據通過網站爬蟲工具獲取的話,更容易獲取到手,尤其是一些需要登錄的網站信息,通過PHP編寫,就更加方便。今天我們就來介紹一下PHP采集https的方法。

使用PHP采集https的方法可以分為三步驟。

第一步,獲取目標網站的cookies。因為采集https的網站往往需要登錄,所以需要獲取到登錄成功后得到的cookies。我們可以通過瀏覽器開發者工具中的Network標簽頁來獲取cookies。當我們登錄成功后,可以在Network中找到對應登錄的請求,在Headers中找到cookie項,復制該項的值即為目標網站cookies的值。

<?php
$login_url = 'https://example.com/login';
$username = 'username';
$password = 'password';
$cookies = '__cfduid=d682476642e1f5f44d7651987e23c114c1569007360; laravel_session=eyJpdiI6ImRBVGx1Uks4Umcyb0w4anBWWkJmZVE9PSIsInZhbHVlIjoiQnNxRlFEZGVpQkc5TXdnXC9VTk9TMFlKWW5WVzJ6VDkzdDJZWTdMZUQ4d29FcDE1VHc0OFBvMm8waDVGTG9zRmtsVTExU3VEZWFGWkthaFZBT0E9PSIsIm1hYyI6IjA0N2JjYWNjMzE3NmJkZWI3ZTVkZjZlOWI2NzA0NGMxOGE0MjNiOWIzOTIzMzlhYmExZjkzNzNkYmIxOWFiMTEifQ%3D%3D';

第二步,設置請求頭信息。在http請求中,設置請求頭信息是一項非常重要的工作,因為對于不同的網站而言,請求頭信息的設置方法都是不同的。對于不同的瀏覽器而言,請求頭信息也存在著差異。如果我們不設置請求頭信息,可能會導致目標網站無法識別我們的請求,從而不能獲取到想要的內容。

$headers = array(
'Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Host:example.com',
'Referer:https://example.com/',
'Origin:https://example.com/',
'User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'
);

第三步,發送https請求。請求之后,我們需要獲取到目標網站的響應信息,PHP中可以用fopen()、curl等方法獲取。但是對于采集https數據而言,因為需要進行SSL驗證,所以最好使用curl。

$post_data = array(
'name' =>$username,
'password' =>$password
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $login_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//取消ssl驗證
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//取消ssl驗證
$result = curl_exec($ch);
curl_close($ch);
echo $result;

至此,我們通過三步驟簡單的實現了通過PHP采集https數據的方法,總結來說就是獲取cookies、設置請求頭信息、發送https請求。同時,在進行https數據采集的時候還必須注意SSL驗證。當然,采集https數據的時候,需要注意合法性問題,不得進行侵犯他人隱私、侵害他人權益等非法活動。