0
我的代码使用套接字发送一个http请求,然后保存响应。它昨天适用于我,但是今天我无法收到响应。我需要使用不是httplib或urllib的套接字。我不知道如果代码不工作或我的python安装是疯狂的。谢谢!没有响应的Python套接字
import socket
import logging
def get_http(target, port, request):
"""
Method that sends an HTTP request and returns the response
:param target:
:type target:
:return:
:rtype: str
"""
try:
s = socket.create_connection((target, port))
s.sendall(request.encode())
response = repr(s.recv(2024).decode())
except socket.error as e:
logging.error('Failed to create connection: %s', e.strerror)
return response
import lib.netgrab as n
class Probe():
def __init__(self):
super(Probe, self).__init__()
def prueba(self):
n.get_http('www.website.com', 80, 'HEAD/HTTP/1.1\r\n\r\n')
pr = Probe()
re = pr.prueba()
print(re)
你得到什么错误? – Victory 2014-11-21 23:28:08
我无法打印响应,因为我无法获得响应:S,它的响应为空。但昨天它的工作原理和我得到的打印(重) – jomag 2014-11-21 23:34:38
每个rfc你缺少在你的“头”请求线的CRLF的http标题http://tools.ietf.org/html/rfc2616#section-5 – Victory 2014-11-21 23:38:06