[英]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.