最佳化抓取的HTTP 資料消耗
為了提高HTTP GET 資料抓取操作的效率,重要的是要考慮以下可能性遇到傳遞大量資料的URL。為了防止這種情況,限制 GET 請求接收的資料大小,從而防止潛在的瓶頸。
解決方案:使用 io.LimitedReader 限制資料消耗
幸運的是,Go 的 io包提供了一個方便的解決方案—io.LimitedReader。它將從提供的io.Reader 讀取的資料量限制在定義的限制內,一旦達到此限制,就會有效地切斷資料檢索:
limitedReader := &io.LimitedReader{R: response.Body, N: limit} body, err := io.ReadAll(limitedReader)
在此範例中,io.LimitedReader限制了資料讀取從HTTP 回應的正文到指定的限制。
或者,您可以使用io.LimitReader 函數來實現相同的效果結果:
body, err := io.ReadAll(io.LimitReader(response.Body, limit))
透過使用io.LimitedReader 或io.LimitReader,您可以有效控制從HTTP GET 請求檢索的資料量,防止您的抓取工具被過多的資料淹沒。
以上是如何優化 HTTP GET 請求以防止資料抓取不堪負荷?的詳細內容。更多資訊請關注PHP中文網其他相關文章!