Похоже, вы используете Python 3. В Python 3 строковые литералы являются объектами Unicode. Unicode-объекты не могут быть отправлены через сетевой сокет, только байты могут быть отправлены.
Учебное пособие, которое вы читаете, могло быть написано для Python 2, где строковые литералы - это байты, а не юникод.
В Python 2:
this_is_bytes = "my string"
this_is_unicode = u"my string"
В Python 3 все было переключено, чтобы по умолчанию иметь строки Unicode:
this_is_bytes = b"my string"
this_is_unicode = "my string"
Вам нужно либо закодировать строку в юникоде в байты:
s.send("GET /index.html HTTP/1.0\n\n".encode('ascii')) # send request
Или используйте байтовый литерал:
s.send(b"GET /index.html HTTP/1.0\n\n") # send request