![](/img/trans.png)
[英]Http - Tunnel connection failed: 403 Forbidden error with Python web scraping
[英]Python-Jenkins tunnel connection failed: 403 Forbidden
我一直在使用 Python Jenkins API 來管理我的 Jenkins 工作。 它已經工作了很長時間,但突然停止工作。 這是代碼摘錄:
import jenkins
server = jenkins.Jenkins('https://jenkins.company.com', username='xxxx', password='password')
server._session.verify = False
print(server.jobs_count())
回溯:
server.jobs_count() 中的文件“”,第 1 行
文件“E:\anaconda3\Lib\site-packages\ jenkins_init_.py ”,第 1160 行,在 jobs_count return len(self.get_all_jobs()) 中
文件“E:\anaconda3\Lib\site-packages\ jenkins_init_.py ”,第 1020 行,在 get_all_jobs jobs = [(0, [], self.get_info(query=jobs_query)['jobs'])]
文件“E:\anaconda3\Lib\site-packages\jenkins_ init _.py”,第 769 行,在 get_info requests.Request('GET', self._build_url(url))
文件“E:\anaconda3\Lib\site-packages\ jenkins_init_.py ”,第 557 行,在 jenkins_open 中返回 self.jenkins_request(req, add_crumb, resolve_auth).text
文件“E:\anaconda3\Lib\site-packages\jenkins_ init _.py”,第 573 行,在 jenkins_request self.maybe_add_crumb(req)
文件“E:\anaconda3\Lib\site-packages\ jenkins_init_.py ”,第 371 行,在 maybe_add_crumb 'GET', self._build_url(CRUMB_URL)), add_crumb=False)
文件“E:\anaconda3\Lib\site-packages\ jenkins_init_.py ”,第 557 行,在 jenkins_open 中返回 self.jenkins_request(req, add_crumb, resolve_auth).text
文件“E:\anaconda3\Lib\site-packages\jenkins_ init _.py”,第 576 行,在 jenkins_request self._request(req))
文件“E:\anaconda3\Lib\site-packages\ jenkins_init_.py ”,第 550 行,在 _request return self._session.send(r, **_settings)
文件“E:\anaconda3\Lib\site-packages\requests\sessions.py”,第 622 行,發送 r = adapter.send(request, **kwargs)
文件“E:\anaconda3\Lib\site-packages\requests\adapters.py”,第 507 行,在發送中引發 ProxyError(e, request=request)
ProxyError: HTTPSConnectionPool(host='jenkins.company.com', port=443): 最大重試次數超過 url: /job/scp/job/sm/job/9218/job/4198/job/SIT/crumbIssuer/api/ json(由 ProxyError('無法連接到代理。',OSError('隧道連接失敗:403 禁止')))
請注意,Jenkins 服務器上沒有任何代理,我可以使用用戶/密碼登錄到 Jenkins 服務器,沒有任何問題。
我有 crum id 和 API 令牌,但我沒有找到任何指示如何將 crum 添加到 Python-Jenkins API 中的信息。
tl; dr:您缺乏連接性。
jenkins library depends import requests
報告連接錯誤。 遺憾的是,它在診斷中使用了 ProxyError。 理由是這樣的:
“為什么要提代理?”到此結束。 診斷咆哮。
當您說“我沒有使用代理”時,我相信您。 對於還不熟悉它的人來說,診斷可能有點像轉移注意力。
當我在端口 443、80 或使用 ICMP 探測 ebs.usps.gov (56.207.107.97) 時,我看到零響應數據包。 你在 .net 的不同部分,你和服務器之間有不同的過濾器,所以你的里程可能會有所不同。 我不會將該主機描述為“公共服務器”,因為它不會給我任何響應。
看起來您將SYN發送到 tcp 端口 443,並且某些網絡設備丟棄了該數據包,或者服務器以 SYN-ACK 回復並且該回復數據包被丟棄。
很可能服務器已關閉或您的請求已被丟棄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.