2008年2月21日 星期四

用fsockopen模擬瀏覽器送出Basic認證資訊

晚上幫OA寫了一個簡單設定MOSDAN的PHP程式,MOSDAN現有的管理介面是Web的,於是想到模擬瀏覽器的方式使用socket來連結,設定使用GET的方式傳送,而Basic認證是在每次要求網頁時送出帶有帳號密碼(經由BASE64編碼)的表頭,大概就像這樣

$link=fsockopen($mos_host,80,$err,$errstr,$timeout);
fputs($link,'GET / HTTP/1.1'."\r\n");
fputs($link,'Authorization: Basic '.base64_encode($username.':'.$password)."\r\n");

回傳的結果用fgets來接就好,十分容易就可以透過單一介面控制多台MOSDAN