交易所 API 為什麼返回 403 或 451:封鎖、地區限制以及如何分辨
403 表示伺服器理解了你的請求,但拒絕執行。451 表示因法律原因拒絕訪問。在加密貨幣交易所 API 上,403 可能是網頁防火牆、請求頻率限制、未授權的金鑰或地區封鎖,所以單憑狀態碼看不出是哪一種。響應正文、交易所文件和換一個網路的對比通常能回答。真正的限制有其原因,正確的做法是弄清這項服務在你所在地是否可用。
先讀響應正文,它通常會說明原因。幣安用 403 表示網頁應用防火牆限制,Bybit 用它表示「access too frequent」,很多交易所用 403 或 451 表示受限地區。如果交易所限制你的國家,用工具隱藏位置很可能違反其條款,並可能讓資金面臨風險。
403 和 451 的一般含義
兩者都是標準 HTTP 狀態碼。403 Forbidden 表示伺服器拒絕請求,不做改變而重複也沒用,但不說明原因。451 Unavailable For Legal Reasons 範圍更窄:MDN 將其描述為資源因法律原因不可用,比如某個被採取法律行動的網頁。這個編號致敬了小說《華氏 451 度》。
實際上,交易所對這兩個狀態碼的使用並不一致。451 是明確訊號,可以合理認為你處於受限地點。403 則需要進一步調查。

交易所 API 返回 403 的常見原因
在只記錄狀態碼的日誌裡,這些看起來一模一樣。
- 網頁應用防火牆。幣安文件說 HTTP 403 用於違反 WAF 限制的情況。防火牆可能對請求模式、異常 User-Agent 或資料中心 IP 段做出反應。
- 請求頻率封鎖。IP 超限時 Bybit 返回「403, access too frequent」,並要求停止並等待至少 10 分鐘。
- 地區限制。很多交易所拒絕來自某些國家的流量。訊息通常會在文字或 JSON 欄位中說明。
- 金鑰許可權或 IP 白名單。限制了特定 IP 或缺少所需許可權的 API 金鑰,可能返回 401 或 403,通常有明確的錯誤資訊。
- 賬戶對應的域名不對。有些交易所按地區分開使用者。
- CDN 或代理封鎖。交易所前面的內容分發網路可能在請求到達交易所之前就拒絕了。這時正文是 HTML 頁面而不是 JSON。
讀響應正文
這是最有用的一步,卻常被跳過,因為有些庫在看到狀態碼時就拋異常,沒人看到正文。請把它記錄下來。
- 帶交易所錯誤碼的 JSON:是交易所的應用在回答。去文件裡查這個錯誤碼。
- 帶 CDN 名稱、Ray ID 或安全提示的 HTML:是代理或防火牆在回答,交易所的應用可能根本沒見到你的請求。
- 指明國家或服務限制的訊息:地區封鎖,照字面理解。
- 空正文:檢視響應頭,並換一個網路對比。
我們自己也要解決這個問題。單憑 403 不能認定是國家限制,所以我們的檢測只有在狀態是 451,或者 403 且正文明確說明限制時,才把響應歸類為地區封鎖。這些封鎖與可用率分開統計,顯示在各交易所頁面上,因為法律決定不是當機。
地區 API 域名
地區限制不一定意味著完全不能使用服務。有些交易所為不同地方運營不同的實體和域名,你的賬戶繫結其中之一。OKX 的 API 文件是個清楚的例子。它說明必須根據註冊地使用正確的域名:在美國和澳大利亞透過 app.okx.com 註冊的使用者使用 us.okx.com,歐盟透過 my.okx.com 註冊的使用者使用 eea.okx.com,各有單獨的文件。Bybit 文件也提到 api.bybit.kz 這樣的本地站點主機名。

所以請求失敗時,請確認使用的域名和賬戶註冊地相符。這是合法的修復方式,只需要按文件操作。
雲伺服器和 IP 信譽
在筆記本上能執行的程式,在雲伺服器上可能失敗,即使在同一個國家。原因包括:
- 伺服器位置。位於受限國家的雲區域會被拒絕,即使你本人住在別處。交易所看的可能是 IP 地理位置,而不是你本人在哪裡。
- 共用地址的歷史。你的新 IP 可能被濫用過 API 的人用過,防火牆可能還記得。
- 地理定位錯誤。IP 到國家的對映資料庫可能出錯,交易所和雲服務商有時對某段地址的位置看法不同。
- 自動化流量特徵。有些公開介面位於針對機器人的防護之後。規範的請求、合理的頻率和官方 API 主機名都有幫助。
請選擇交易所確實提供服務的伺服器位置。如果不確定,部署之前先查它的條款和受限國家列表。然後在伺服器上而不是筆記本上執行下面的測試。
封鎖是真的嗎?一個測試方法
- 在受影響的機器上發一個不帶金鑰的公開請求,比如交易所的伺服器時間介面,儲存狀態碼和正文。
- 如果有條件,在同一國家的另一個網路(如手機網路)上重複一次。
- 把結果和交易所自己的狀態頁,以及我們交易所頁面這樣的獨立讀數對比。
- 如果只有簽名請求失敗,問題在金鑰許可權、IP 白名單或簽名,而不是封鎖。
- 如果響應指明瞭地區,且交易所條款中列有該地區,就把這當作最終答案。
下結論時要謹慎。一個地點的結果只描述這條線路。我們自己的測量來自一個明確的地點,所以封鎖這個地點的交易所,其頁面上會顯示地區拒絕,但這並不說明你能否使用它。
面對地區封鎖不該做什麼
當交易所限制你的國家時,很容易想用 VPN 或代理繞過去。我們不建議這樣做,這也不只是客套話,有實際原因。
- 很可能違反你同意的條款。大多數交易所禁止虛報位置。
- 讓資金面臨風險。交易所可能限制或關閉發現這樣做的賬戶,取回資金可能需要身份驗證,而那會暴露不一致。
- 可能有法律後果,取決於你住在哪裡,而且很多國家的這類規定正在變化。
- 很脆弱。依賴代理的交易系統在最糟的時刻多了一個故障點。
更好的做法是找一家在你所在地有牌照、可合法使用的服務。如果你認為地區被誤判,請透過官方客服聯絡交易所詢問。這通常不會很快解決,這段時間請保管好資金。
在程式碼中如何處理這些狀態碼
- 不要盲目重試 403 或 451。它們通常不會很快恢復,重複請求還可能讓防火牆封鎖更嚴重。把它們和 5xx 區別對待。
- 記錄狀態碼、響應頭和正文。把正文截到安全長度,絕不記錄金鑰。正文的一小段通常就能看出原因。
- 在監控中分開歸類。地區拒絕和伺服器故障含義不同,混在一起會讓可用率數字失去意義。
- 新出現的 403 要通知人工。它通常標誌著你需要知道的變化,比如新政策或金鑰被限制。
- 對 Bybit 這類頻率封鎖要退避。頻率限制指南講了這種情況下該怎麼做。
關於 403 和 451 的常見問題
交易所返回 403 等於被封號嗎?
不一定。它可能是暫時的(如基於頻率的封鎖),也可能來自伺服器位置,而不是你做了什麼。永久性的賬戶限制通常以別的方式出現,比如賬戶頁面或交易所的訊息。
為什麼公開行情介面也會被封?
有些交易所在網路邊緣就應用地區規則,還沒看你請求的是哪個介面。所以不需要金鑰的公開介面也可能被封。這也是我們的測量把這些響應從可用率中排除,而不是報告交易所當機的原因。
401 和 403 有什麼區別?
401 一般表示認證缺失或無效,正確的憑證可能改變結果。403 一般表示伺服器知道你是誰(或不需要知道),但仍然拒絕。交易所並不總是嚴格遵守這個區分,所以請查正文和錯誤碼錶。
處理一次拒絕
- 記錄完整的狀態碼、響應頭和正文。
- 判斷正文來自交易所還是代理。
- 在交易所文件中查詢錯誤碼。
- 確認使用的域名和賬戶所屬地區相符。
- 從另一個網路測試公開介面。
- 閱讀交易所的受限地區列表。
- 弄清原因之前停止重試。
相關閱讀:交易所 API 頻率限制和 429 錯誤 · 如何判斷交易所是不是當機了 · API 可用率和故障記錄怎麼看
來源
MDN · 451 · 幣安 · HTTP 返回碼 · Bybit · 頻率限制規則 · OKX · API 文件 · 測量方法 · 關於 Tickmark
其他指南
加密貨幣永續合約的資金費率是什麼?一篇講清楚
資金費率是永續合約多空雙方之間定期結算的一筆費用。永續合約沒有到期日,需要別的機制把合約價格拉回標的資產附近,資金費率就是這個機制。費率為正時,多頭付給空頭;費率為負時,空頭付給多頭。公式由交易所制定,但在主要交易所,這筆錢是在交易者之間轉移的。
不同交易所資金費率怎麼比較:8 小時和 4 小時結算差多少
只看百分比無法比較兩個資金費率。一個費率只有在你知道它多久收一次、你是多頭還是空頭、兩個讀數是否對應同一個合約和同一時刻之後才有意義。同樣的 +0.01%,在 4 小時週期上每天的成本是 8 小時週期的兩倍;它讓多頭付出多少,空頭就收到多少。
負資金費率是什麼意思?誰付錢,它又不能說明什麼
負資金費率意味著下一次結算時,持有空頭的交易者要付錢給持有多頭的交易者。這通常發生在永續合約價格低於指數價格的時候,往往反映了大量做空或對沖。它並不表示價格馬上要跌或要漲,對多頭來說也不是白拿的收入,因為價格波動帶來的虧損可能遠遠超過這筆支付。
資金費率怎麼換算成年化,這個數字為什麼容易誤導人
把資金費率年化,只需用單次費率乘以每天的結算次數,再乘以 365。每 8 小時 0.01% 的費率變成 0.01% × 3 × 365 = 10.95%。這樣可以把不同週期的合約放到同一把尺子上比較。但它不能告訴你一年下來會賺多少或付多少,因為它假設今天的費率永遠不變。
資金費率套利詳解:怎麼操作,利潤又被什麼吃掉
資金費率套利是指在同一資產上持有兩個相互抵消的倉位,讓價格波動大致相互抵消,同時賺取其中一邊的資金費。經典做法是買入現貨、做空永續合約。另一種做法是在費率高的交易所做空永續,在費率低的交易所做多。它常被說成無風險,其實並不是。這筆交易的風險只是和普通方向性交易不同而已。
標記價格、最新價和指數價格:哪個價格會讓你爆倉?
永續合約顯示三個容易混淆的價格。最新價是最近一筆成交的價格。指數價格是多家交易所現貨價格的平均值。標記價格是交易所對合約公允價值的估算,在主要交易所,它決定你的未實現盈虧和是否被強平。弄清每個價格的作用,就能明白為什麼圖表從未碰到強平價,倉位卻被強平了。
一筆市價單到底要花多少錢:手續費、價差與滑點
交易所費率頁上的手續費只是市價單成本的一部分。其餘的來自你實際拿到的價格,取決於交易方向、訂單規模和當時的委託簿深度。要公平比較不同交易所,應該用同一個參考價衡量平均成交價,再加上手續費,並注意不要把價差算兩次。
如何在下單前根據委託簿深度估算滑點
滑點是你預期的價格和實際平均成交價之間的差。大部分滑點在下單前就能估算,因為委託簿顯示了每個價位有多少可成交。把你要吃的一側的檔位累加到足夠覆蓋你的規模,算出平均價,再和中間價比較。估算的好壞取決於快照本身,而且委託簿恰恰在你最需要的時候變薄。
掛單費和吃單費詳解:如何比較加密貨幣交易所的手續費
掛單方(maker)把訂單放進委託簿等待成交,吃單方(taker)則和已經在簿上的訂單成交。大多數交易所向吃單方收得更多,因為掛單方提供了別人交易所需的流動性。只看標題費率比較交易所會誤導人:你要知道自己通常是哪一方、你的交易量實際處於哪個等級,以及同一筆交易裡手續費和滑點、資金費相比有多大。
如何判斷加密貨幣交易所是不是當機了:分步指南
當交易所對你不能用時,第一個問題是它是對所有人都掛了,還是隻對你掛了。通常幾分鐘就能得到答案:看交易所自己的狀態頁,看獨立測量,換一個網路,再直接測試公開 API。每個來源看到的東西都不同,所以一個綠色頁面不能證明一切正常,一次失敗的請求也不能證明交易所當機。
交易所是不是真的當機了?API 可用率和故障記錄怎麼看
可用率描述的是特定服務在特定時段、經特定網路路徑的成功請求比例。它不能說明你能否下單、提幣,也不能說明可以放心把資產交給這家交易所。像 99.9% 這樣的數字,只有在你知道測了什麼、從哪裡測、測了多久的時候才有用。本文講解如何讀懂我們頁面和其他任何地方的這些細節。
持倉時加密貨幣交易所當機了該怎麼辦
如果持倉時交易所沒有響應,第一件事是弄清到底什麼壞了,第二件事是別讓情況更糟,第三件事是透過任何還能用的途徑降低風險。不要反覆提交同一筆訂單,因為之前的嘗試可能已經成交。試試手機 App 和 API 這些替代途徑,如果敞口很大就考慮在別處對沖,並把發生的事情記錄下來,以備之後申訴。
交易所 API 為什麼提示時間戳錯誤:時鐘偏移與過時報價詳解
響應很快,報價也可能是舊的。往返延遲、時鐘偏移和報價年齡描述的是一次請求的不同部分,混在一起可能把時鐘不一致看成行情延遲。本文用算例解釋這三者,說明我們如何估算它們,並講講交易所 API 因時間問題拒絕請求時該怎麼辦。
幣安 API 錯誤 -1021Timestamp for this request:原因和修復方法
幣安 API 錯誤 -1021 INVALID_TIMESTAMP 表示你的簽名請求上的時間戳落在幣安接受的視窗之外。訊息通常是Timestamp for this request is outside of the recvWindow或was 1000ms ahead of the server's time。大多數情況下原因是你自己的時鐘,所以解決辦法是同步時鐘、測量和幣安伺服器時間的偏移,並妥善處理剩餘的網路延遲。調大 recvWindow 可以掩蓋問題,但不應該是第一步。
加密貨幣交易所 API 頻率限制:429 錯誤是什麼意思,如何不觸發
HTTP 429 表示你在一段時間內傳送了太多請求,伺服器要求你慢一點。它不是當機。每家交易所的計數方式不同:幣安為每個介面設定權重,並封禁 429 之後仍繼續請求的 IP;Bybit 在 IP 五秒內超過 600 次請求時封鎖;OKX 按介面設定限制並返回錯誤碼 50011。要不超限,就要讀響應頭、正確退避,並儘量使用 WebSocket。
開設加密貨幣交易所帳戶之前:台灣、香港讀者的檢查清單
在交易所開戶之前,先確認四件事:這家交易所是否獲准服務你所在的地方,你所在地的主管機關名單上有沒有它,眼前這個網站是不是真的,以及這家交易所最近的運作狀況。填寫註冊表只要十分鐘,選錯了卻可能要花好幾個月才處理得完,有時根本無法挽回。本文逐項說明這些檢查,並以讀者最常問到的幣安(Binance)與 OKX 為例,特別說明台灣與香港的現況。