→ tjjh89017:加上params = params.encode('utf-8')就OK了 08/07 19:32
→ tjjh89017:至於為甚麼我還要去看看 08/07 19:32
→ tjjh89017:只能說....他規定.....詳見下面的官方連結 08/07 19:34
因為 Python 中的 string 是個抽象概念
「字串本身」和「電腦中的字串儲存/傳送格式」是分開的兩件事情
而 urllib 傳送的當然是後者(網路送的當然是數位訊號, 不然咧)
所以當你想用它傳送一個字串的內容時, 你必須
1) 指定字串的內容(創造 str 物件)
2) 指定傳送格式('utf-8'), 然後把字串轉換成該格式的內容
然後就要推薦經典的 Joel Spolsky 教學文
http://goo.gl/GuwGO
--
「我最想要的同伴嘛,首先是要笑口常開,其次是我們能永遠不會發生誤會。
如果這些都能辦到的話,嗯,如果他是世界上第一流的橋手,也還不錯。」
-- 班尼多‧加羅素,前義大利藍隊成員
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.243.43.204
※ 編輯: uranusjr 來自: 111.243.43.204 (08/10 02:02)
※ 編輯: uranusjr 來自: 111.243.43.204 (08/10 02:07)
推 dreaming1943:感謝大大 我後來加入了UTF8 OK了 但是又碰到一個問題 08/10 09:07
→ dreaming1943:他書裡面的授權不是用OAUTH的授權 08/10 09:08
→ tjjh89017:我在python 27(還26我忘了) 我都直接丟string說 08/10 19:41
→ tjjh89017:還是因為我有在檔案最前方指定編碼呢? 不然就是我記錯了 08/10 19:42
→ tjjh89017:@_@ 08/10 19:42
→ uranusjr:Python 2.x 的字串抽象化沒有很完整, 3.x 整個大翻修過 08/10 19:45
→ uranusjr:所以跟字串/編碼相關的東西不一樣很正常 :q 08/10 19:46
→ tjjh89017:那這樣用起來不是很方便@_@ 08/10 20:10
推 jlhc:OAuth的授權可以參考 twitter的官方文件喔 有很清楚的教學 08/10 22:41
→ tjjh89017:也可以玩玩plurk API XD 08/11 13:12