python逆向獲取DNS時用到一個函數socket.gethostbyaddr,傳入本地主機地址後報錯以下:python
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 0: invalid continuation bytedjango
在stackoverflow上搜索到了一條線索,獲取的返回值的host等於在console執行hostname得到的值,隨手試了一下,輸出結果是「愛琴海」,腦洞立馬打開,感情是計算機名稱在做祟,右鍵「計算機-屬性-計算機名稱、域、和工做組設置-更更名稱」,修改計算機名稱爲ocean並重啓生效,IDLE執行了一下:windows
>>> from socket import * socket
>>> gethostbyaddr('127.0.0.1') ('ocean', [], ['127.0.0.1'])函數
再次執行django,果真哦了。 編碼
據悉,windows中文默認編碼是gbk,和utf-8部分字符不兼容,環境變量和路徑等最好使用英文名稱,避免一些奇怪的錯誤。spa