Ubuntu14 04 用curl抓取頁面亂碼

2021-07-22 05:43:44 字數 2116 閱讀 7003

1.是用curl抓取的資料是用類似gzip壓縮後的資料導致的亂碼。

亂碼:curl www.1ting.com |more

亂碼:curl -h "accept-encoding: gzip"www.1ting.com | more

不亂碼:curl -h "accept-encoding: gzip"www.1ting.com | gunzip | more

不亂碼:curl www.1616.net |more

亂碼:curl -h "accept-encoding: gzip"www.1616.net | more

不亂碼:curl -h "accept-encoding: gzip"www.1616.net | gunzip | more

下面的a,b解釋的是www.1ting.com,c,d解釋是的www.1616.net

a.某個url,如果用不加任何選項的curl命令抓取後亂碼,在curl後面加上accept-encoding:gzip,後面不加gunzip,則抓取的資料會亂碼。

b.某個url,如果用不加任何選項的curl命令抓取後亂碼,在curl後面加上accept-encoding:gzip,後面加上gunzip,則抓取的資料不會亂碼。

c.某個url,如果用不加任何選項的curl命令抓取後不亂碼,在curl後面加上accept-encoding:gzip,後面不加gunzip,則抓取的資料會亂碼。

d.某個url,如果用不加任何選項的curl命令抓取後不亂碼,在curl後面加上accept-encoding:gzip,後面加上gunzip,則抓取的資料不會亂碼。

小總:也就是說在curl後面加上accept-encoding:gzip,再用gunzip解壓縮,則基本上可以儲存資料不亂碼。

2.

gbk或者utf8漢字之類的亂碼

iconv命令是執行於linux平台的檔案編碼裝換工具。當我們在linux系統shell下通過curl命令或者wget命令獲取乙個網頁的源**

,當網頁的編碼與當前作業系統壞境的設定的編碼不同時,就會發現網頁中有很多亂碼。如在網頁"meta"標籤"charset"屬性值設定為"gb2312"的

iconv命令的詳細語法:

iconv [選項..] [檔案..]

選項:-f 輸入編碼

-t 輸出編碼

-l 列出所有已知的編碼

-o 輸出檔案

對比採用php curl庫的post getheader三種方法之間的差異

比較post getheader這三種方法的區別:

引數post

getheader

curlopt_url 有

有有curlopt_post 開啟

關閉關閉

如果有$header,則開啟

如果有$header,則開啟

如果有$header,則開啟

curlopt_header

false

false

true

curlopt_nobody

false

false

true

curlopt_postfileds

true

false

false

從上表中可以看出:

post方法:開啟post連線,然後傳送post報文體。關閉header和nobody

get方法:關閉post相關的選項,關閉nobodyheader,僅僅只是開啟curlopt_httpheader

header方法:開啟header和nobody,關閉post相關的選項。

應該說上述三種方法,乙個明顯的區別是,箱採用什麼方法的時候,就開啟對應的curl選項。

curl_httpheader與curopt_header的區別:

前者是設定http頭部資訊的乙個陣列

後者是將標頭檔案的資訊以資料流的方式輸出

用root直接登入Ubuntu 14 04

1.在terminal下輸入 sudo gedit usr share lightdm lightdm.conf.d 50 ubuntu.conf 2.接著把檔案內容改為如下內容 seatdefaults autologin user root user session ubuntu greeter...

Ubuntu14 04解除安裝核心

1 前言 通過apt get install安裝的核心可以通過apt get remove解除安裝 通過dpkg i安裝的核心可以通過dpkg r解除安裝 但是通過 ubuntu14.04編譯安裝kernel 上 所用的make install方法安裝的核心,解除安裝就沒那個容易了。筆者在ubunt...

ubuntu14 04安裝紀事

vmware是個好東西,但是今天在新裝ubuntu做實驗時卻一直提示disconnect you are now offline。試了n種方法,也反覆安裝多次,最後才確定是vmware出了問題。嘗試將編輯 虛擬網路編輯器還原預設後才算排除問題,只是網路設定又要重新做了 新裝的ubuntu一些基本設定...