1. 程式人生 > 資訊 >谷歌和 Facebook 等科技巨頭要遭殃,美國和歐盟擬聯手打擊

谷歌和 Facebook 等科技巨頭要遭殃,美國和歐盟擬聯手打擊

1、HTTP協議

  超文字傳輸協議:一種釋出和接受HTML頁面的 方法,伺服器埠號是80.

  -----HTTPS協議:是HTTP協議的加密版本,在HTTP下加入了SSL層。伺服器埠號是443。

2、URL組成部分

  scheme://host:port/path/?query-string=xxx#anchor

  • scheme:代表訪問協議,一般為http或者https以及ftp等
  • host:主機名。訪問一個網站的時候,瀏覽器預設使用80埠
  • path:查詢路徑
  • query-string:查詢字串
  • anchor:錨點,前端用來做頁面定位,一些前後分離專案,也用錨點來做導航

在瀏覽器中請求一個url,瀏覽器會對這個url進行一個編碼。除英文字母,數字和部分符號外,其他的全部使用百分號+十六進位制碼進行編碼

3、常用的請求Method

  • get請求:一般情況下,只從伺服器獲取資料下來,並不會對伺服器資源產生任何影響時回使用get請求
  • post請求:向伺服器傳送資料(登入)、上傳檔案等,會對伺服器資源產生影響的時候會使用post請求。
  • head:類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭
  • put:從客戶端向伺服器傳送的資料取代指定的文件內容
  • delete:請求伺服器刪除指定的頁面
  • connect:HTTP/1.1協議中預留給能夠將連線改為管道方式的代理伺服器
  • options:允許客戶端檢視伺服器的效能
  • trace:回顯伺服器收到的請求,主要用於測試或診斷

4、常見的請求頭引數

  在http協議中,向伺服器傳送一個請求,資料分為三部分,第一個是把資料放在url中,第二個是把資料放在body中(在post請求中),第三個就是把資料放在head中。

  • User-Agent:瀏覽器名稱。請求一個網頁的時候,伺服器通過這個引數就可以知道這個請求是由哪種瀏覽器傳送的。如果是通過爬蟲傳送請求,那麼我們的User-Agent就是Python。我們可以設定這個值為一些瀏覽器的值,來偽裝爬蟲。
  • Referer:表明當前這個請求是從哪個url過來的。如果不是從指定頁面過來的,那麼就不做相關的相應
  • Cookie:http協議是無狀態的。cookie用來做標識,讓伺服器知道兩個請求是否來自同一個人。如果想要做登陸後才能訪問的網站,那麼就需要傳送cookie資訊。

5、常見的響應狀態碼

  • 200:請求正常,伺服器正常的返回資料
  • 301:永久重定向。
  • 302:臨時重定向
  • 400:請求的url在伺服器上找不到。##(url錯誤)
  • 403:伺服器拒絕訪問,許可權不夠
  • 500:伺服器內部錯誤。可能是伺服器出現BUG了

4、Chrome抓包使用

  • Elements:展示出瀏覽器看過的網頁,背後的原始碼,有事網頁資料是通過ajax請求得到的,所以Elements下的資料不能完全相信
  • Console:展示網站列印的一些資訊
  • Sources:展示出網頁中所有的網頁原始碼
  • Network:展示網頁傳送的所有網路請求

urllib庫的基本使用

  • urllib庫 #python內建的網路請求庫,他是Python中一個最基本的網路請求庫,可以模擬瀏覽器的行為,向指定的伺服器傳送一個請求,並可以儲存伺服器返回的資料。
    • urllib函式
      • 在Python3的urllib庫中,所有和網路請求相關的方法,都被集到urllib.request模組下邊
      • rulopen函式:
      • from urllib import request
      • resp = request.urlopen(http://www.baidu.com')
      • print(resp.read())
    • urllib.Request,處理cookie,代理設定
  • requests庫 #第三方的庫