Handler處理器 和 自定義Opener

Handler處理器 和 自定義Opener

opener是 urllib2.OpenerDirector 的實(shí)例,我們之前一直都在使用的urlopen畏浆,它是一個(gè)特殊的opener(也就是模塊幫我們構(gòu)建好的)税稼。

但是基本的urlopen()方法不支持代理烦秩、cookie等其他的HTTP/HTTPS高級(jí)功能。所以要支持這些功能:
1、使用相關(guān)的Handler處理器來(lái)創(chuàng)建特定功能的處理器對(duì)象;
2、然后通過urllib2.build_opener()方法使用這些處理器對(duì)象,創(chuàng)建自定義opener對(duì)象申窘;
3、使用自定義的opener對(duì)象,調(diào)用open()方法發(fā)送請(qǐng)求。

如果程序里所有的請(qǐng)求都使用自定義的opener,可以使用urllib2.install_opener()將自定義的 opener 對(duì)象 定義為 全局opener猴凹,表示如果之后凡是調(diào)用urlopen夷狰,都將使用這個(gè)opener(根據(jù)自己的需求來(lái)選擇)

簡(jiǎn)單的自定義opener()

import urllib
from urllib import request

# 構(gòu)建一個(gè)HTTPHandler 處理器對(duì)象,支持處理HTTP請(qǐng)求
handler = urllib.request.HTTPHandler()  # http

# 構(gòu)建一個(gè)HTTPHandler 處理器對(duì)象郊霎,支持處理HTTPS請(qǐng)求
# handlers = urllib.request.HTTPSHandler()  # 處理https的處理器

# 調(diào)用urllib2.build_opener()方法沼头,創(chuàng)建支持處理HTTP請(qǐng)求的opener對(duì)象
opener = urllib.request.build_opener(handler)

# 構(gòu)建 Request請(qǐng)求
req = urllib.request.Request("http://www.baidu.com", headers=headers)

# 調(diào)用自定義opener對(duì)象的open()方法,發(fā)送request請(qǐng)求
response = opener.open(req)

# 獲取服務(wù)器響應(yīng)內(nèi)容
print(response.read())

這種方式發(fā)送請(qǐng)求得到的結(jié)果书劝,和使用urllib2.urlopen()發(fā)送HTTP/HTTPS請(qǐng)求得到的結(jié)果是一樣的进倍。

如果在 HTTPHandler()增加 debuglevel=1參數(shù),還會(huì)將 Debug Log 打開购对,這樣程序在執(zhí)行的時(shí)候猾昆,會(huì)把收包和發(fā)包的報(bào)頭在屏幕上自動(dòng)打印出來(lái),方便調(diào)試骡苞,有時(shí)可以省去抓包的工作

# 僅需要修改的代碼部分:

# 構(gòu)建一個(gè)HTTPHandler 處理器對(duì)象垂蜗,支持處理HTTP請(qǐng)求楷扬,同時(shí)開啟Debug Log,debuglevel 值默認(rèn) 0
http_handler = urllib2.HTTPHandler(debuglevel=1)

# 構(gòu)建一個(gè)HTTPSHandler 處理器對(duì)象贴见,支持處理HTTPS請(qǐng)求烘苹,同時(shí)開啟Debug Log,debuglevel 值默認(rèn) 0
https_handler = urllib2.HTTPSHandler(debuglevel=1)

Cookie

Cookie 是指某些網(wǎng)站服務(wù)器為了辨別用戶身份和進(jìn)行Session跟蹤片部,而儲(chǔ)存在用戶瀏覽器上的文本文件镣衡,Cookie可以保持登錄信息到用戶下次與服務(wù)器的會(huì)話。

Cookie原理

HTTP是無(wú)狀態(tài)的協(xié)議, 為了保持連接狀態(tài), 引入了Cookie機(jī)制 Cookie是http消息頭中的一種屬性档悠,包括:
Cookie名字(Name)
Cookie的值(Value)
Cookie的過期時(shí)間(Expires/Max-Age)
Cookie作用路徑(Path)
Cookie所在域名(Domain)廊鸥,
使用Cookie進(jìn)行安全連接(Secure)。

前兩個(gè)參數(shù)是Cookie應(yīng)用的必要條件站粟,另外黍图,還包括Cookie大小(Size奴烙,不同瀏覽器對(duì)Cookie個(gè)數(shù)及大小限制是有差異的)助被。

Cookie由變量名和值組成,根據(jù) Netscape公司的規(guī)定切诀,Cookie格式如下:
Set-Cookie: NAME=VALUE揩环;Expires=DATE;Path=PATH幅虑;Domain=DOMAIN_NAME丰滑;SECURE

Cookie應(yīng)用

Cookies在爬蟲方面最典型的應(yīng)用是判定注冊(cè)用戶是否已經(jīng)登錄網(wǎng)站,用戶可能會(huì)得到提示倒庵,是否在下一次進(jìn)入此網(wǎng)站時(shí)保留用戶信息以便簡(jiǎn)化登錄手續(xù)褒墨。

cookielib庫(kù) 和 HTTPCookieProcessor處理器
在Python處理Cookie,一般是通過cookielib模塊和 urllib2模塊的HTTPCookieProcessor處理器類一起使用擎宝。

cookielib模塊:主要作用是提供用于存儲(chǔ)cookie的對(duì)象

HTTPCookieProcessor處理器:主要作用是處理這些cookie對(duì)象郁妈,并構(gòu)建handler對(duì)象。

cookielib 庫(kù)
該模塊主要的對(duì)象有CookieJar绍申、FileCookieJar噩咪、MozillaCookieJar、LWPCookieJar极阅。

CookieJar:管理HTTP cookie值胃碾、存儲(chǔ)HTTP請(qǐng)求生成的cookie、向傳出的HTTP請(qǐng)求添加cookie的對(duì)象筋搏。整個(gè)cookie都存儲(chǔ)在內(nèi)存中仆百,對(duì)CookieJar實(shí)例進(jìn)行垃圾回收后cookie也將丟失。

FileCookieJar (filename,delayload=None,policy=None):從CookieJar派生而來(lái)奔脐,用來(lái)創(chuàng)建FileCookieJar實(shí)例儒旬,檢索cookie信息并將cookie存儲(chǔ)到文件中栏账。filename是存儲(chǔ)cookie的文件名。delayload為True時(shí)支持延遲訪問訪問文件栈源,即只有在需要時(shí)才讀取文件或在文件中存儲(chǔ)數(shù)據(jù)挡爵。

MozillaCookieJar (filename,delayload=None,policy=None):從FileCookieJar派生而來(lái),創(chuàng)建與Mozilla瀏覽器 cookies.txt兼容的FileCookieJar實(shí)例甚垦。

LWPCookieJar (filename,delayload=None,policy=None):從FileCookieJar派生而來(lái)茶鹃,創(chuàng)建與libwww-perl標(biāo)準(zhǔn)的 Set-Cookie3 文件格式兼容的FileCookieJar實(shí)例。

其實(shí)大多數(shù)情況下艰亮,我們只用CookieJar()闭翩,如果需要和本地文件交互,就用 MozillaCookjar() 或 LWPCookieJar()

Cookie案例:

1.獲取Cookie
import urllib.request
from http import cookiejar  # python3
# import cookiejar  # python2

# 創(chuàng)建一個(gè)對(duì)象存儲(chǔ)cookie
cookies = cookiejar.LWPCookieJar()
# cookie處理器, 提取cookie
cookie_handler = urllib.request.HTTPCookieProcessor(cookies)
# 創(chuàng)建打開器, 處理cookie
opener = urllib.request.build_opener(cookie_handler)

# 使用opener打開url
response = opener.open("http://www.baidu.com/")
# 得到cookies
print(cookies)

  1. 下載cookie
import urllib.request
from http import cookiejar

filename = "baiducookie.txt"  # 用于保存cookie
# 管理cookie的對(duì)象
cookies = cookiejar.LWPCookieJar(filename=filename)
# 創(chuàng)建cookie處理器
cookie_handler = urllib.request.HTTPCookieProcessor(cookies)
# 創(chuàng)建打開器
opener = urllib.request.build_opener(cookie_handler)

# 添加UA迄埃,并打開百度疗韵,下載cookie
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
}

req = urllib.request.Request("http://www.baidu.com", headers=headers)

# 打開
response = opener.open(req)

# 保存, 忽略錯(cuò)誤
cookies.save(ignore_discard=True, ignore_expires=True)

  1. 使用下載的cookie
import urllib.request
from http import cookiejar

filename = "baiducookie.txt"
cookies = cookiejar.LWPCookieJar()

# 使用cookie
cookies.load(filename)

cookie_handler = urllib.request.HTTPCookieProcessor(cookies)
opener = urllib.request.build_opener(cookie_handler)

# 添加UA侄非,并打開百度
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
}

req = urllib.request.Request("http://www.baidu.com", headers=headers)
response = opener.open(req)

示例: cookie登錄qq空間
1蕉汪,用自己的賬號(hào)登錄qq空間,將登錄成功后的cookie拷貝出來(lái)
2逞怨,將拷貝出來(lái)的cookie保存在HTTP頭部信息headers中
3者疤,使用headers發(fā)送請(qǐng)求
QQ空間: https://user.qzone.qq.com/904552498
練習(xí): 登錄人人網(wǎng)
# 人人網(wǎng)登錄接口: 
url = "http://www.renren.com/ajaxLogin/login?1=1&uniqueTimestamp=2018921035604"
# 參數(shù):
data = {
    "email": "18566218481",
    "icode": "",
    "origURL": "http://www.renren.com/home",
    "domain": "renren.com",
    "key_id": "1",
    "captcha_type": "web_login",
    "password": "1260ec8f79d73201e2e7aaca932e88465dffe9f59bd7104a9d7c1bac981dad59",
    "rkey": "44fd96c219c593f3c9612360c80310a3",
    "f": "http%3A%2F%2Fwww.renren.com%2F548819077%2Fprofile",
}

1, 保存登錄成功后的cookie
2叠赦, 使用保存的cookie進(jìn)行登錄驹马, 登錄后獲取個(gè)人信息
    url = "http://www.renren.com/548819077/profile"

HTTP代理神器Fiddler /Charles青花瓷

Fiddler是一款強(qiáng)大Web調(diào)試工具,它能記錄所有客戶端和服務(wù)器的HTTP請(qǐng)求除秀。 Fiddler啟動(dòng)的時(shí)候糯累,默認(rèn)IE的代理設(shè)為了127.0.0.1:8888,而其他瀏覽器是需要手動(dòng)設(shè)置册踩。

請(qǐng)求 (Request) 部分詳解

Headers —— 顯示客戶端發(fā)送到服務(wù)器的 HTTP 請(qǐng)求的 header泳姐,顯示為一個(gè)分級(jí)視圖,包含了 Web 客戶端信息棍好、Cookie仗岸、傳輸狀態(tài)等允耿。
Textview —— 顯示 POST 請(qǐng)求的 body 部分為文本借笙。
WebForms —— 顯示請(qǐng)求的 GET 參數(shù) 和 POST body 內(nèi)容。
HexView —— 用十六進(jìn)制數(shù)據(jù)顯示請(qǐng)求较锡。
Auth —— 顯示響應(yīng) header 中的 Proxy-Authorization(代理身份驗(yàn)證) 和 Authorization(授權(quán)) 信息.
Raw —— 將整個(gè)請(qǐng)求顯示為純文本业稼。
JSON - 顯示JSON格式文件。
XML —— 如果請(qǐng)求的 body 是 XML 格式蚂蕴,就是用分級(jí)的 XML 樹來(lái)顯示它低散。

響應(yīng) (Response) 部分詳解

Transformer —— 顯示響應(yīng)的編碼信息俯邓。
Headers —— 用分級(jí)視圖顯示響應(yīng)的 header。
TextView —— 使用文本顯示相應(yīng)的 body熔号。
ImageVies —— 如果請(qǐng)求是圖片資源稽鞭,顯示響應(yīng)的圖片。
HexView —— 用十六進(jìn)制數(shù)據(jù)顯示響應(yīng)引镊。
WebView —— 響應(yīng)在 Web 瀏覽器中的預(yù)覽效果朦蕴。
Auth —— 顯示響應(yīng) header 中的 Proxy-Authorization(代理身份驗(yàn)證) 和 Authorization(授權(quán)) 信息。
Caching —— 顯示此請(qǐng)求的緩存信息弟头。
Privacy —— 顯示此請(qǐng)求的私密 (P3P) 信息吩抓。
Raw —— 將整個(gè)響應(yīng)顯示為純文本。
JSON - 顯示JSON格式文件赴恨。
XML —— 如果響應(yīng)的 body 是 XML 格式疹娶,就是用分級(jí)的 XML 樹來(lái)顯示它 。

ProxyHandler處理器(代理設(shè)置)

使用代理IP伦连,這是爬蟲/反爬蟲的第二大招雨饺,通常也是最好用的。

很多網(wǎng)站會(huì)檢測(cè)某一段時(shí)間某個(gè)IP的訪問次數(shù)(通過流量統(tǒng)計(jì)除师,系統(tǒng)日志等)沛膳,如果訪問次數(shù)多的不像正常人,它會(huì)禁止這個(gè)IP的訪問汛聚。

所以我們可以設(shè)置一些代理服務(wù)器锹安,每隔一段時(shí)間換一個(gè)代理,就算IP被禁止倚舀,依然可以換個(gè)IP繼續(xù)爬取叹哭。

免費(fèi)的開放代理獲取基本沒有成本,我們可以在一些代理網(wǎng)站上收集這些免費(fèi)代理痕貌,測(cè)試后如果可以用风罩,就把它收集起來(lái)用在爬蟲上面。

免費(fèi)短期代理網(wǎng)站舉例:
    西刺免費(fèi)代理IP
    快代理免費(fèi)代理
    Proxy360代理
    全網(wǎng)代理IP

代理IP池: 
    如果代理IP足夠多舵稠,形成代理池超升,就可以像隨機(jī)獲取User-Agent一樣,隨機(jī)選擇一個(gè)代理去訪問網(wǎng)站哺徊。
    
import urllib.request
import random

# 假設(shè)此時(shí)有一已經(jīng)格式化好的ip代理地址proxies
# 可訪問西刺代理獲取代理ip:http://www.xicidaili.com/

# ip代理池
iplist = [
    "http://183.159.84.198:18118",
    "http://183.159.92.206:18118",
    "http://119.179.209.43:61234",
    "http://183.159.82.181:18118"
]

# ua池(user-agent池 )
UserAngentList=[
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36",
    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko",
    "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1",
    "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Mobile Safari/537.36"
]

url = 'https://blog.csdn.net/linangfs/article/details/78331419?locationNum=9&fps=1'

for i in range(3):
    headers = { "User-Agent": random.choice(UserAngentList)}
    proxy = {"http": random.choice(iplist)}
    
    try:
        proxy_handler = urllib.request.ProxyHandler(proxy)
        opener = urllib.request.build_opener(proxy_handler)
        req = urllib.request.Request(url, headers=headers)
        response = opener.open(req)  # 使用代理
        print(response.code)

    except:
        print('失敗')
    else:
        print('成功')

使用西刺代理客戶端:
安裝ccproxy代理
設(shè)置禁止外部用戶訪問: 設(shè)置 -> 高級(jí) -> 網(wǎng)絡(luò) -> 禁止局域網(wǎng)外用戶室琢,取消勾選

import urllib.request
import random

# 使用西刺代理
# 無(wú)密碼
proxy = {"http": "http://172.20.10.3:808"}

# 有密碼(需要在 西刺代理軟件中添加賬號(hào)和密碼 )
proxy = {"http": "http://user1:123456@172.20.10.3:808"}

HTTP響應(yīng)狀態(tài)碼參考

1xx:信息

100 Continue
    服務(wù)器僅接收到部分請(qǐng)求,但是一旦服務(wù)器并沒有拒絕該請(qǐng)求落追,客戶端應(yīng)該繼續(xù)發(fā)送其余的請(qǐng)求盈滴。
101 Switching Protocols
    服務(wù)器轉(zhuǎn)換協(xié)議:服務(wù)器將遵從客戶的請(qǐng)求轉(zhuǎn)換到另外一種協(xié)議。


2xx:成功

200 OK
    請(qǐng)求成功(其后是對(duì)GET和POST請(qǐng)求的應(yīng)答文檔)
201 Created
    請(qǐng)求被創(chuàng)建完成轿钠,同時(shí)新的資源被創(chuàng)建巢钓。
202 Accepted
    供處理的請(qǐng)求已被接受病苗,但是處理未完成。
203 Non-authoritative Information
    文檔已經(jīng)正常地返回症汹,但一些應(yīng)答頭可能不正確硫朦,因?yàn)槭褂玫氖俏臋n的拷貝。
204 No Content
    沒有新文檔背镇。瀏覽器應(yīng)該繼續(xù)顯示原來(lái)的文檔阵幸。如果用戶定期地刷新頁(yè)面,而Servlet可以確定用戶文檔足夠新芽世,這個(gè)狀態(tài)代碼是很有用的挚赊。
205 Reset Content
    沒有新文檔。但瀏覽器應(yīng)該重置它所顯示的內(nèi)容济瓢。用來(lái)強(qiáng)制瀏覽器清除表單輸入內(nèi)容荠割。
206 Partial Content
    客戶發(fā)送了一個(gè)帶有Range頭的GET請(qǐng)求,服務(wù)器完成了它旺矾。


3xx:重定向

300 Multiple Choices
    多重選擇蔑鹦。鏈接列表。用戶可以選擇某鏈接到達(dá)目的地箕宙。最多允許五個(gè)地址嚎朽。
301 Moved Permanently
    所請(qǐng)求的頁(yè)面已經(jīng)轉(zhuǎn)移至新的url。
302 Moved Temporarily
    所請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)轉(zhuǎn)移至新的url柬帕。
303 See Other
    所請(qǐng)求的頁(yè)面可在別的url下被找到哟忍。
304 Not Modified
    未按預(yù)期修改文檔∠萸蓿客戶端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)锅很。服務(wù)器告訴客戶,原來(lái)緩沖的文檔還可以繼續(xù)使用凤跑。
305 Use Proxy
    客戶請(qǐng)求的文檔應(yīng)該通過Location頭所指明的代理服務(wù)器提取爆安。
306 Unused
    此代碼被用于前一版本。目前已不再使用仔引,但是代碼依然被保留扔仓。
307 Temporary Redirect
    被請(qǐng)求的頁(yè)面已經(jīng)臨時(shí)移至新的url。


4xx:客戶端錯(cuò)誤

400 Bad Request
    服務(wù)器未能理解請(qǐng)求咖耘。
401 Unauthorized
    被請(qǐng)求的頁(yè)面需要用戶名和密碼翘簇。
401.1
    登錄失敗。
401.2
    服務(wù)器配置導(dǎo)致登錄失敗鲤看。
401.3
    由于 ACL 對(duì)資源的限制而未獲得授權(quán)缘揪。
401.4
    篩選器授權(quán)失敗耍群。
401.5
    ISAPI/CGI 應(yīng)用程序授權(quán)失敗义桂。
401.7
    訪問被 Web 服務(wù)器上的 URL 授權(quán)策略拒絕找筝。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專用。
402 Payment Required
    此代碼尚無(wú)法使用慷吊。
403 Forbidden
    對(duì)被請(qǐng)求頁(yè)面的訪問被禁止袖裕。
403.1
    執(zhí)行訪問被禁止。
403.2
    讀訪問被禁止溉瓶。
403.3
    寫訪問被禁止急鳄。
403.4
    要求 SSL。
403.5
    要求 SSL 128堰酿。
403.6
    IP 地址被拒絕疾宏。
403.7
    要求客戶端證書。
403.8
    站點(diǎn)訪問被拒絕触创。
403.9
    用戶數(shù)過多坎藐。
403.10
    配置無(wú)效。
403.11
    密碼更改哼绑。
403.12
    拒絕訪問映射表岩馍。
403.13
    客戶端證書被吊銷。
403.14
    拒絕目錄列表抖韩。
403.15
    超出客戶端訪問許可蛀恩。
403.16
    客戶端證書不受信任或無(wú)效。
403.17
    客戶端證書已過期或尚未生效茂浮。
403.18
    在當(dāng)前的應(yīng)用程序池中不能執(zhí)行所請(qǐng)求的 URL双谆。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專用。
403.19
    不能為這個(gè)應(yīng)用程序池中的客戶端執(zhí)行 CGI席揽。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專用佃乘。
403.20
    Passport 登錄失敗。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專用驹尼。
404 Not Found
    服務(wù)器無(wú)法找到被請(qǐng)求的頁(yè)面趣避。
404.0
    沒有找到文件或目錄。
404.1
    無(wú)法在所請(qǐng)求的端口上訪問 Web 站點(diǎn)新翎。
404.2
    Web 服務(wù)擴(kuò)展鎖定策略阻止本請(qǐng)求程帕。
404.3
    MIME 映射策略阻止本請(qǐng)求。
405 Method Not Allowed
    請(qǐng)求中指定的方法不被允許地啰。
406 Not Acceptable
    服務(wù)器生成的響應(yīng)無(wú)法被客戶端所接受愁拭。
407 Proxy Authentication Required
    用戶必須首先使用代理服務(wù)器進(jìn)行驗(yàn)證,這樣請(qǐng)求才會(huì)被處理亏吝。
408 Request Timeout
    請(qǐng)求超出了服務(wù)器的等待時(shí)間岭埠。
409 Conflict
    由于沖突,請(qǐng)求無(wú)法被完成。
410 Gone
    被請(qǐng)求的頁(yè)面不可用惜论。
411 Length Required
    "Content-Length" 未被定義许赃。如果無(wú)此內(nèi)容,服務(wù)器不會(huì)接受請(qǐng)求馆类。
412 Precondition Failed
    請(qǐng)求中的前提條件被服務(wù)器評(píng)估為失敗混聊。
413 Request Entity Too Large
    由于所請(qǐng)求的實(shí)體的太大,服務(wù)器不會(huì)接受請(qǐng)求乾巧。
414 Request-url Too Long
    由于url太長(zhǎng)句喜,服務(wù)器不會(huì)接受請(qǐng)求。當(dāng)post請(qǐng)求被轉(zhuǎn)換為帶有很長(zhǎng)的查詢信息的get請(qǐng)求時(shí)沟于,就會(huì)發(fā)生這種情況咳胃。
415 Unsupported Media Type
    由于媒介類型不被支持,服務(wù)器不會(huì)接受請(qǐng)求旷太。
416 Requested Range Not Satisfiable
    服務(wù)器不能滿足客戶在請(qǐng)求中指定的Range頭拙绊。
417 Expectation Failed
    執(zhí)行失敗。
423
    鎖定的錯(cuò)誤泳秀。


5xx:服務(wù)器錯(cuò)誤

500 Internal Server Error
    請(qǐng)求未完成标沪。服務(wù)器遇到不可預(yù)知的情況。
500.12
    應(yīng)用程序正忙于在 Web 服務(wù)器上重新啟動(dòng)嗜傅。
500.13
    Web 服務(wù)器太忙金句。
500.15
    不允許直接請(qǐng)求 Global.asa。
500.16
    UNC 授權(quán)憑據(jù)不正確吕嘀。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專用违寞。
500.18
    URL 授權(quán)存儲(chǔ)不能打開。這個(gè)錯(cuò)誤代碼為 IIS 6.0 所專用偶房。
500.100
    內(nèi)部 ASP 錯(cuò)誤趁曼。
501 Not Implemented
    請(qǐng)求未完成。服務(wù)器不支持所請(qǐng)求的功能棕洋。
502 Bad Gateway
    請(qǐng)求未完成挡闰。服務(wù)器從上游服務(wù)器收到一個(gè)無(wú)效的響應(yīng)。
502.1
    CGI 應(yīng)用程序超時(shí)掰盘∩忝酰 ·
502.2
    CGI 應(yīng)用程序出錯(cuò)。
503 Service Unavailable
    請(qǐng)求未完成愧捕。服務(wù)器臨時(shí)過載或當(dāng)機(jī)奢驯。
504 Gateway Timeout
    網(wǎng)關(guān)超時(shí)。
505 HTTP Version Not Supported
    服務(wù)器不支持請(qǐng)求中指明的HTTP協(xié)議版本
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末次绘,一起剝皮案震驚了整個(gè)濱河市瘪阁,隨后出現(xiàn)的幾起案子撒遣,更是在濱河造成了極大的恐慌,老刑警劉巖管跺,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件义黎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡伙菜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門命迈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贩绕,“玉大人,你說我怎么就攤上這事壶愤∈缜悖” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵征椒,是天一觀的道長(zhǎng)娇哆。 經(jīng)常有香客問我,道長(zhǎng)勃救,這世上最難降的妖魔是什么碍讨? 我笑而不...
    開封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蒙秒,結(jié)果婚禮上勃黍,老公的妹妹穿的比我還像新娘。我一直安慰自己晕讲,他們只是感情好覆获,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著瓢省,像睡著了一般弄息。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上勤婚,一...
    開封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天摹量,我揣著相機(jī)與錄音,去河邊找鬼馒胆。 笑死荆永,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的国章。 我是一名探鬼主播具钥,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼液兽!你這毒婦竟也來(lái)了骂删?” 一聲冷哼從身側(cè)響起掌动,我...
    開封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎宁玫,沒想到半個(gè)月后粗恢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡欧瘪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年眷射,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片佛掖。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡妖碉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芥被,到底是詐尸還是另有隱情欧宜,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布拴魄,位于F島的核電站冗茸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏匹中。R本人自食惡果不足惜夏漱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望顶捷。 院中可真熱鬧麻蹋,春花似錦、人聲如沸焊切。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)专肪。三九已至刹勃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嚎尤,已是汗流浹背荔仁。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留芽死,地道東北人乏梁。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像关贵,于是被迫代替她去往敵國(guó)和親遇骑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容