2018年5月31日 星期四

php curl 發送 request payload 資料

一般來說 在網頁上傳輸資料 通常都是用 form 在丟,所以資料 會放在 form data 這個區塊,
但是我這幾天碰到一個神奇的網站,資料是塞在request payload裡面的,爬了好多文才知道該怎麼正確的丟...


$post_data = 'path=down
month=2018/05/31
cnt=1
itemno=22';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$URL);
curl_setopt($ch, CURLOPT_TIMEOUT, 1); //timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password"); // basic auth 認證}
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result=curl_exec ($ch);
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);   //get status code
curl_close ($ch);
重點如下

  1. Content-Type 要設為 application/x-www-form-urlencoded 不要被browser的 text/plain 騙了
  2. 超奇琶的變數設定方法,請看上方的$post_data,直接用 path=down這樣設定變數內容,然後如果有多個變數,直接用換行切換,直接用換行切換,直接用換行切換,很重要所以要說三次...

2018年5月21日 星期一

Windows 10 1803版 升級後吃掉所有硬碟空間 解決辦法

家裡的 Win10 前幾天自動升級到1803版,過沒多久跳出磁碟空間不足的提示,我用磁碟清理工具看了一下,發現1709版的恢復記錄佔用了23G,就把恢復記錄刪掉了,清出了23G的空間

結果隔天又跳出了磁碟空間被佔滿的消息,我還以為是中了病毒,用程式掃了一下,發現是Windows\Temp佔用最多空間,就把Windows\Temp給清空了,不過,過沒幾分鐘,Windows\Temp又跑出一堆*.evtx的檔案,打開後發現是Windows的事件管理員產出的記錄檔,但是這個記錄又看不出到底是哪邊出現的錯誤...這個是事件檔會以每分鐘約100MB的速度產出,怪不得硬碟空間一下就滿了

因為沒時間重灌,只好先寫個排程,固定每一小時去刪一次這些佔存檔,後來要用到計算機,打開開始功能表才發現,小算盤名稱變英文了,一些內件的Windows應用也是如此,而且通通打不開...,只要想打開這些程式,evtx檔就會爆增...連打開"開始功能表"也是...

最後解決辦法,當然是重灌拉,不過不得不稱讚一下現在重灌真的變好簡單,設定裡面選"復原",然後選不清除個人資料,大約10分鐘後就搞定了,還會列出哪些程式之前裝過,但是被系統移除的,在自己裝回來即可...

2018年5月11日 星期五

499之亂~武器支援~~~搶中華電信線上文字客服功能

寫了一段code幫忙搶中華電信線上文字客服的功能,只能用在https://123.cht.com.tw/CustomerService/Service?businessServiceId=Mobile

javascript:$('#phoneNumber').val('09xxxxxxxx');$('#submitChat').attr('disabled',false);$('#submitChat').click();

在進入文字客服前,會有認證碼的畫面,並且要填入自己的電話號碼,


  1. 把上面那段code,09xx的部分改為自己的電話號碼
  2. 在chrome書籤列新增網頁,填入上面的code,按下確定,書籤列會出現一個按鈕
  3. 手動輸入認證碼,按下剛剛新增的按鈕,資料直接送出,無視等待人數超過上限
  4. 重複步驟3直到進入等待畫面
這段程式碼的用途在,可以讓你一直送出交談要求,不用手動F5再填入這些資料