python errno 10054远程主机强行关闭现有连接

时间:2013-11-26 07:34:05

标签: python sockets httplib

python新手。我正在尝试访问biomedcentral oai界面。

http://www.openarchives.org/OAI/openarchivesprotocol.html#HTTPRequestFormat告诉我所有请求都必须是HTTP GET或POST请求。我已经尝试了两种方法,我可以提出最简单的查询(动词=识别),以确保不是我错误地格式化查询,我得到相同的错误 - 即“socket.error:[Errno 10054]远程主机“

强行关闭现有连接

SO上有多个条目 - 它们似乎处理错误或处于连接的套接字级别,而我正在尝试使用httplib执行此操作 - 我在套接字上没有做任何事情水平。

我用于POST方法的代码是:

import httplib, urllib
params = urllib.urlencode({'verb': "Identify", })
headers = { "Content-type": "application/x-www-form-urlencoded","Content-Length": 82}

conn = httplib.HTTPConnection("www.biomedcentral.com")
conn.request("POST", "/oai/2.0", params, headers)

response = conn.getresponse()
print (response.status, response.reason)
data = response.read()
conn.close()

get方法更简单:

import httplib
connection = httplib.HTTPConnection("www.biomedcentral.com")
connection.request("GET", "/oai/2.0?verb=Identify")
r1 = connection.getresponse()

print (r1.status, r1.reason)
data = r1.read()
print (data)
connection.close()

在这两种情况下,我都在关闭连接,因为我认为我应该这样做。我无法理解为什么服务器会关闭连接。这不是间歇性的,这显然表明网站存在问题,当我尝试以类似的方式访问其他网站时就会发生这种情况。我已经与IT部门核实过,我的代理设置似乎是正确的。我不知道其他原因/解决方案。

有人有任何想法吗?他们将非常感激。

干杯 本。

0 个答案:

没有答案