臨時表空間滿或者丟失
阿新 • • 發佈:2021-09-09
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,代理設定
- urllib函式
- requests庫 #第三方的庫