的Python [错误110]连接超时 - 无法建立连接

问题描述:

我想打印“詹金斯版本”和“招聘信息”的Python [错误110]连接超时 - 无法建立连接

它打印“詹金斯版本”,但不是“工作细节”

a) I work on Ubuntu 16.04 
b) Two version of python exists 2.7.6 and 3.4.3 and am using 'version 2.7.6' 
c) I used 'pip install jenkinsapi' to install 'jenkinsapi' 

#!/usr/bin/python 
import sys 
sys.path.append('/usr/local/lib/python2.7/dist-packages/') 

import urllib3 
from jenkinsapi.jenkins import Jenkins 

if __name__ == '__main__': 
    jenkins_url = 'http://jenkins.com/b/jenkins/' 
    server = Jenkins(jenkins_url, 'kailass', '[email protected]') 
    print(server.version) 
    jobs = server.get_jobs() 
    for job in jobs: 
     print(job) 

1)我能够对端口号443和(2)我能ping 'jenkins.com' 使用IP

错误消息的telnet 'jenkins.com' - 无法建立连接

Traceback (most recent call last): 
    File "jenver.py", line 33, in <module> 
    for job in jobs: 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jobs.py", line 91, in iteritems 
    for job in self.itervalues(): 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jobs.py", line 116, in itervalues 
    yield Job(row['url'], row['name'], self.jenkins) 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/job.py", line 74, in __init__ 
    JenkinsBase.__init__(self, self.url) 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jenkinsbase.py", line 35, in __init__ 
    self.poll() 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/job.py", line 98, in poll 
    data = super(Job, self).poll(tree=tree) 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jenkinsbase.py", line 59, in poll 
    data = self._poll(tree=tree) 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jenkinsbase.py", line 69, in _poll 
    return self.get_data(url, tree=tree) 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/jenkinsbase.py", line 79, in get_data 
    response = requester.get_url(url, params) 
    File "/usr/local/lib/python2.7/dist-packages/jenkinsapi/utils/requester.py", line 109, in get_url 
    return requests.get(self._update_url_scheme(url), **requestKwargs) 
    File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 70, in get 
    return request('get', url, params=params, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/requests/api.py", line 56, in request 
    return session.request(method=method, url=url, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 488, in request 
    resp = self.send(prep, **send_kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/requests/sessions.py", line 609, in send 
    r = adapter.send(request, **kwargs) 
    File "/usr/local/lib/python2.7/dist-packages/requests/adapters.py", line 487, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='6.4.2.182', port=8080): Max retries exceeded with url: /scm/jenkins/job/DO%20NOT%20CHANGE%20THIS%20PROJECT/api/python (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f66c65eab50>: Failed to establish a new connection: [Errno 110] Connection timed out',)) 

任何帮助,高度赞赏

+0

你确定与jenkins_url的价值?在浏览器中粘贴它给了我一个404.我应该做的是将jenkins_url指向jenkins运行的tomcat实例... –

+1

@Vivek詹金斯URL我提到的是一个伪(或)虚拟URL –

+0

你提到telnet,但错误消息显示端口8080处的尝试https连接;你有没有检查过那个工程?例如,尝试在'https://6.4.2.182:8080/scm/jenkins/job/DO%20NOT%20CHANGE%20THIS%20PROJECT/api/python'上使用curl。 – Evert

问题已在詹金斯提正确的“BASE URL”解决 - >管理詹金斯 - >配置系统 - >詹金斯URL