I wrote a socket server using Python 2.7 and the socket
module.
Everything works as expected when I issue an HTTP request: the server accepts it and ans
I had the same problem. You have to configure "ssl" context within your code as such:
import socket, ssl
HOST = "www.youtube.com"
PORT = 443
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s_sock = context.wrap_socket(s, server_hostname=HOST)
s_sock.connect((HOST, 443))
s_sock.send(" GET / HTTP/1.1\r\nHost: www.youtube.com\r\n\r\n ".encode())
while True:
data = s_sock.recv(2048)
if ( len(data) < 1 ) :
break
print(data)
s_sock.close()
Try this. The module names have changed so that they are now part of the http.server
module (part of a standard installation) - see the note at the top of the SimpleHTTPServer documentation for Python 2. The main problem, though, is that you need to get an SSL certificate to secure connections with (the easiest way I believe is OpenSSL).