python使用請(qǐng)求頭部headers處理403錯(cuò)誤
前言
有時(shí)候請(qǐng)求一個(gè)網(wǎng)頁的時(shí)候,無論是GET請(qǐng)求還是POST請(qǐng)求都訪問不了,并出現(xiàn)403錯(cuò)誤。這是因?yàn)檫@些網(wǎng)頁為了防止惡意采集信息,使用了反爬機(jī)制。
正文
1、都什么原因會(huì)出現(xiàn)403錯(cuò)誤呢?
403錯(cuò)誤是指訪問被服務(wù)器拒絕的錯(cuò)誤。這可能是因?yàn)橛脩粽?qǐng)求的資源被服務(wù)器禁止訪問,或者用戶沒有足夠的權(quán)限來訪問資源。
有幾個(gè)可能的原因?qū)е?03錯(cuò)誤:
- 權(quán)限不足:用戶沒有足夠的權(quán)限來訪問資源。這可能是因?yàn)橛脩魶]有提供正確的身份驗(yàn)證憑證,或者用戶所屬的用戶組沒有訪問該資源的權(quán)限。
- IP地址被拒絕:服務(wù)器可以配置為拒絕某些IP地址或IP地址范圍的訪問。
- 文件或目錄權(quán)限不正確:服務(wù)器上的文件或目錄的權(quán)限設(shè)置不正確,導(dǎo)致用戶無法訪問。
2、如何發(fā)送GET請(qǐng)求?
import requests # 導(dǎo)入requests模塊 response = requests.get('https://www.csdn.net/?spm=1030.2210.3001.4476')
3、如何發(fā)送POST請(qǐng)求?
import requests response = requests.post("https://www.csdn.net/?spm=1030.2210.3001.4476") print(response.content)
403了
GET請(qǐng)求和POST請(qǐng)求的區(qū)別:
get請(qǐng)求是安全的。get請(qǐng)求是絕對(duì)安全的。因?yàn)間et請(qǐng)求只是為了從服務(wù)器上獲取數(shù)據(jù)。不會(huì)對(duì)服務(wù)器造成威脅。
post請(qǐng)求是危險(xiǎn)的。因?yàn)閜ost請(qǐng)求是向服務(wù)器提交數(shù)據(jù),如果這些數(shù)據(jù)通過后門的方式進(jìn)入到服務(wù)器當(dāng)中,服務(wù)器是很危險(xiǎn)的。另外post是為了提交數(shù)據(jù),所以一般情況下攔截請(qǐng)求的時(shí)候,大部分會(huì)選擇攔截(監(jiān)聽)post請(qǐng)求。
使用請(qǐng)求頭部headers處理
1、打開瀏覽器
2、按下“Ctrl+Shift+E” 出現(xiàn)下面界面:
3、點(diǎn)擊藍(lán)色的部分,找到頭部信息
要的就是右下角的“'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0'”
import requests # 請(qǐng)求的URL url = 'https://www.csdn.net/?spm=1030.2210.3001.4476' header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0'} # 請(qǐng)求的數(shù)據(jù) data = { 'name': '后端' } # 發(fā)送POST請(qǐng)求 response = requests.post(url, data=data,headers=header) # 打印響應(yīng)內(nèi)容 print(response.text)
這回變成405了哈哈,所以我們得用GET了:
import requests # 請(qǐng)求的URL url = 'https://www.csdn.net/?spm=1030.2210.3001.4476' header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0'} # 請(qǐng)求的數(shù)據(jù) data = { 'name': 'pp' } # 發(fā)送POST請(qǐng)求 response = requests.get(url, data=data,headers=header) # 打印響應(yīng)內(nèi)容 print(response.text)
以上就是python使用請(qǐng)求頭部headers處理403錯(cuò)誤的詳細(xì)內(nèi)容,更多關(guān)于python headers處理403的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Pytorch 如何訓(xùn)練網(wǎng)絡(luò)時(shí)調(diào)整學(xué)習(xí)率
這篇文章主要介紹了Pytorch 如何訓(xùn)練網(wǎng)絡(luò)時(shí)調(diào)整學(xué)習(xí)率的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05python網(wǎng)絡(luò)爬蟲精解之正則表達(dá)式的使用說明
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來表達(dá)對(duì)字符串的一種過濾邏輯2021-09-09Python中xlsx文件轉(zhuǎn)置操作詳解(行轉(zhuǎn)列和列轉(zhuǎn)行)
很多時(shí)候我們處理的Excel表格并不是我們想要的樣子,需要將表格的形式進(jìn)行相應(yīng)轉(zhuǎn)換后進(jìn)行數(shù)據(jù)分析操作,下面這篇文章主要給大家介紹了關(guān)于Python中xlsx文件轉(zhuǎn)置操作(行轉(zhuǎn)列和列轉(zhuǎn)行)的相關(guān)資料,需要的朋友可以參考下2022-07-07Python?虛擬機(jī)集合set實(shí)現(xiàn)原理及源碼解析
這篇文章主要為大家介紹了Python?虛擬機(jī)集合set實(shí)現(xiàn)原理及源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Python學(xué)習(xí)思維導(dǎo)圖(必看篇)
下面小編就為大家?guī)硪黄狿ython學(xué)習(xí)思維導(dǎo)圖(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06- python中的easy_install工具,類似于Php中的pear,或者Ruby中的gem,或者Perl中的cpan,那是相當(dāng)?shù)乃嵬崃巳绻胧褂?/div> 2013-02-02
python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法
今天小編就為大家分享一篇python合并已經(jīng)存在的sheet數(shù)據(jù)到新sheet的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-12-12最新評(píng)論