繁体   English   中英

使用httplib连接到Python网站

[英]Using httplib to connect to a website in Python

tl; dr:使用httplib创建到站点的连接。 我失败了,我希望有一些指导!

我遇到了麻烦。 阅读有关python的套接字和httplib的信息,尽管看起来语法有些问题。

就这个:

connection = httplib.HTTPConnection('www.site.org', 80, timeout=10, 1.2.3.4)

语法是这样的:

httplib.HTTPConnection(host[, port[, strict[, timeout[, source_address]]]])

“ source_address”的行为如何? 我可以使用任何IP发出请求吗? 我不需要用户代理吗?

另外,如何检查连接是否成功?

if connection:
print "Connection Successful."

(据我所知,HTTP不需要每秒进行一次“您还活着”的ping操作,只要客户端和服务器都可以,则在发出请求时便会对其进行处理。因此,我无法不断ping。)

创建对象实际上并没有连接到网站:
HTTPConnection.connect(): Connect to the server specified when the object was created.

source_address似乎随任何请求一起发送到服务器,但似乎没有任何作用。 我不确定为什么需要使用User-Agent。 无论哪种方式,它都是一个可选参数。

您似乎也无法检查是否建立了连接,这很奇怪。

假设您要获取网站根目录的内容,则可以使用以下命令:

from httplib import HTTPConnection
conn = HTTPConnection("www.site.org", 80, timeout=10)
conn.connect()

conn.request("GET", "http://www.site.org/")
resp = conn.getresponse()

data = resp.read()
print(data)

(从HTTPConnection文档猛烈抨击)

坦白说,您不应该使用httplib ,而应使用urllib2或其他级别较低的HTTP库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM