簡體   English   中英

下載僅允許使用Python從內部服務器訪問的文件

[英]Download files that only allow access from internal server with Python

我試圖從服務器下載一些文件,但返回錯誤頁面,提示僅允許來自內部服務器的鏈接。 通過單擊鏈接,我可以使用任何瀏覽器下載文件,並且已經驗證了我在Python中捕獲的鏈接是正確的。 有什么辦法可以使用python做到這一點嗎? 我嘗試了urllib,urllib2和請求,但是沒有用。 我可以使用硒,但解決方案不是緊急的

使用瀏覽器時,它將發送一個稱為User-Agent的標頭來對其進行標識。 您需要從python腳本中“欺騙”用戶代理,以使其認為有人在瀏覽網站。 將User-Agent標頭設置為通用瀏覽器的標頭,這會使服務器很難檢測到您正在使用腳本。

如果網絡服務器正在檢查引薦來源地址(包含鏈接的地址),則此方法應該起作用:

import urllib2
req = urllib2.Request('http://www.example.com/linked_resource')
req.add_header('Referer', 'http://www.example.com/page_with_link')
r = urllib2.urlopen(req)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM