2011年8月1日 星期一

PHP curl 查詢機票座位(機位)

前言...

因為在暑假的某一天,
"突然"想去韓國自由行玩個一個禮拜,
不過因為決定的有點突然,
只剩不到一個月左右,
機票便宜的都訂光了,
只剩下貴兩三倍的機票,
於是我們就去找旅行社幫忙,
結果旅行社只能幫我們查詢,
某天去的班機和某天回來的班機,而且還要某家航空公司
而不能"全部"查詢,只能要我們慢慢手動一個一個點...
...這...並非人力所及
幾十個航班,加上20天內都有空,只要玩個5~6天,在加上每天都會有機位新釋出
意思是說每天都要點個(保守估計)20航班 x 15天的去回=300up次 (一次可以查去回)
每次查詢還要十幾秒鐘的時間...

相信很多人都有此困擾 = =

因此最後決定動用"程式"的力量︿︿

(最一開始我是想說應該有人已經有寫出來了,
不過簡單google一下,也沒有發現,最後只好自己動手了)

由程式來解決問題...

最後的機票是找到比最便宜貴約1.3倍的價錢(手動的話...大概這次出國就要放棄了)
(不過結果證實,下次要出國還是要趁早決定)


==============================

==============================

進入正題

是使用php+curl的方法,在這裡只有把curl的方法列出來

至於文字拆解就不詳述(而curl的目標,就是某旅行公司...)

(實際上測試了3家旅行業者,找一個最簡單的列出來)

===============================

//第一步,取得所有適合的班機

$ch = curl_init();

$url = "http://www.eztravel.com.tw/ezec/freefit/ec_fit_main_query.jsp?city_from=TPE&city_to=SEL&ticket_type=R&service_type=4&ticket_class_section=2&international_cd=&searchBegDate=20110811&priceRange=0,12000&wt_search=fit2";
//這個url是先去他的網站查詢適合班機的結果,也可以自己改數值
//例如 priceRange=0,12000 就是0元到12000元


curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
//模擬由你的瀏覽器進入,在這個旅行網站好像不需要(有點忘了),不過另某家需要
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_REFERER, "http://www.eztravel.com.tw/");
//這行最重要,是這旅遊網站認證的地方,沒有的話會無法取得資料
$result = curl_exec($ch);



//第二步,查詢機位

//這邊是設定給網站查詢的設定值(最好都不要少)
//至於取得方法,可以看最後表單的輸出結果
//也可以用google chrome右鍵檢查元素也可以得到
//而value,基本上是從你剛剛取得所有適合的航班的頁面可以取得


$tmp = 'prod_no:'.$prod_no.'
beg_date:'.$beg_date.'
end_date:'.$end_date.'
tkt_type:'.$tkt_type.'
ticket_type:'.$ticket_type.'
arg:1
arg:'.$prod_no.'
arg:20040815
arg:1
arg:TPE
arg:TPE
arg:2
hOpenChk:
bookYn:'.$bookYn.'
goPeople:'.$buyNum.'
Choice1:'.$buyNum.'
kind:'.$prod_no.','.$beg_date.','.$end_date.',1
Choice1:0
kind:'.$prod_no.','.$beg_date.','.$end_date.',3
Choice:'.$buyNum.'
Choice:0
h_checkInDateT:
checkInDateT:'.$checkInDate.'
f_checkin_date2:
checkOutDateT:'.$checkOutDate;
//echo $tmp;
$tmp = str_replace(":","=",$tmp);
$tmp = str_replace('
',"&",$tmp);

$post_login = $tmp;


$ch = curl_init();
$url = "http://www.eztravel.com.tw/ezec/freefit/ec_fit_flypath_searching.jsp";

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
//如果跳頁,跟的跳,這網站好像不會用到
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_login);//給予參數設定值
curl_setopt($ch, CURLOPT_REFERER, "http://www.eztravel.com.tw/ezec/freefit/ec_fit_date_query.jsp");
//這行這網站會驗證
$result = curl_exec($ch);
return $result;



//result 就是結果摟!!就是這樣

===============程式碼 END==============

最後的執行結果是存在mysql裡面,方便查詢

最後的結果(候補沒顯示)

2011年6月21日 星期二

MAC內建螢幕共享、遠端控制,iphone, ipad, PC

MAC螢幕共享、遠端控制,iphone, ipad, PC

=====前言=====

最近我哥剛好對於遠端控制有些需求

因此就記錄了一些關於mac遠端控制、螢幕共享的資訊

而我們的需求主要是:速度、價錢、操控性 (ipad, iphone)、安裝方便

=====工具=====

目前主要測試的有下面三種方法,而本篇主要介紹mac內建連線方法

(被控端 mac 安裝軟體)

1. mac內建 (vnc)

2. realVNC (vnc)

3. splashtop remote

(連接端)

mac, windows, iphone, ipad, android 皆可以連上上面三種方法

=====實作=====

=====mac 內建 螢幕共享方法=====

由於是mac電腦內建的,不用安裝,可以非區往連線

不會像windows開放共享後,還會被防火牆堵住

最easy的方法
(MAC 對 MAC 最最最簡單,什麼都不需要安裝,超簡單設定,而且速度也很快)

(被控端操作方法)

1.把系統偏好設定打開


2.打開共享
3.把螢幕共享打勾

(基本上只要三步驟就完成了...接下來是比較進階的部份)

4.右邊會出現的畫面
5.點選電腦設定,並且把vnc選項打勾,然後設定密碼

這是可以讓vnc連線到這台電腦,如果沒有打勾的話
就只有mac內建方法可以連線

6.下方可以設定允許的使用者登入

所有使用者:

  使用者的來源,從系統偏好設定>帳號,可以設定 (通訊錄也可以設定)

僅以下使用者:

選擇本機帳號和自定通訊錄帳號

(被控端結束...)


(控制端設定)

控制端除了可以用mac內建螢幕共享方法外

如果也有勾選允許vnc,就可以使用其他vnc連線軟體遠端控制

iphone, ipad, android, 就要下載vnc連線軟體,即可連線(ex.Mocha VNC)

windows 推薦realVNC連線軟體



(mac內建螢幕共享遠端控制方法)

1.打開Finder,選擇 前往>連接伺服器


2.輸入vnc網址

vnc:// ip位置,可以用對外ip

(如果是ip分享器連接,要對外連線的話,要打開DMZ,或使用其他相關設定)


3.按連接之後就輸入帳號密碼(ex 被控端帳號密碼,或是剛剛有設定的值)

4.超easy!!enjoy!!


(realVNC控制端設定,iphone ipad也有realVNC,不過要錢)

(mac 內建速度比較快,區網感覺沒差)
(如果是架realVNC server,速度會比較快 )

mac realVNC client 好像不需要付費
(目前都沒付費也可以用,server好像是有試用天數)

1.打開realVNC viewer

2.點選Connect

3.輸入密碼就可以了
ps,這個密碼是剛剛設定的密碼,不需要輸入使用者



至於windows也同樣方法

iphone, ipad 要連線的話,app stoer 有很多vnc連線軟體可以下載

我個人是用Mocha VNC Lite (不用$),不過操作方法感覺沒有很好

速度普普,操作性普普,正式版要錢


=====END=====


大家如果有用到iphone, ipad, vnc連線軟體好用的可以推薦一下喔!!!





2011年2月27日 星期日

Chrome BBS (PTT) Tonberry

之前有發過相關文章

是連結到一個BBS專門網站

然後可以進行連線

==============================

而其實相信大家查詢的時候有看到
Tonberry for Chrome
就是直接用chrome 開啟 BBS ( PTT only )

不過作者已經不開放下載了
所以也一直沒有發文介紹

而今天就想說還是介紹一下這個軟體好了
方便一下大家 呵呵 (因為真的頗好用的+方便)

(但還是不提供下載 = =")

首先呢 這個軟體的全名叫做

Tonberry for Chrome 0.8.0 final.crx

直接GOOGLE一下

或是
GOOGLE

Tonberry for Chrome 0.8.0 final.crx 下載

有沒有發現甚麼

沒錯,已經有一大堆人發布下載連結了

下載後,直接用GOOGLE CHROME 開啟 Tonberry for Chrome 0.8.0 final.crx

就OK啦!!

SO

就是這樣......

= =
有點無言的文章... 嘿嘿

2011年2月22日 星期二