通过Python套接字库的HTTP请求

通过Python套接字库的HTTP请求,python,sockets,network-programming,Python,Sockets,Network Programming,我试图通过Python套接字库向网站发出一个简单的HTTP GET请求。我在这里使用的示例网站是。我的代码是: from socket import * serverName = 'azlyrics.com'; serverPort = 80; clientSocket = socket(AF_INET, SOCK_STREAM); print(clientSocket.connect((serverName, serverPort))); message = '''GET /lyrics/ch

我试图通过Python套接字库向网站发出一个简单的HTTP GET请求。我在这里使用的示例网站是。我的代码是:

from socket import *
serverName = 'azlyrics.com';
serverPort = 80;
clientSocket = socket(AF_INET, SOCK_STREAM);
print(clientSocket.connect((serverName, serverPort)));
message = '''GET /lyrics/charlieputh/attention.html HTTP/1.1
Host: www.azlyrics.com
Connection: keep-alive
''';
print(message);
clientSocket.send(message.encode());
modifiedMessage = clientSocket.recv(2048).decode();
print(modifiedMessage);
clientSocket.close();

但我没有得到回应信息。我从
connect()
返回的对象也是None。我用Python请求库尝试了相同的URL,效果很好。我做错了什么?

HTTP请求正文应以
\r\n
(CR-LF)结尾

请试试这个:

从套接字导入*
服务器名='azlyps.com';
服务器端口=80;
clientSocket=socket(AF\u INET,SOCK\u STREAM);
打印(clientSocket.connect((serverName,serverPort));
message=''GET/lyris/charlieputh/attention.html HTTP/1.1
主持人:www.azlyps.com
连接:保持活力
''';
打印(信息);
send(message.encode());
modifiedMessage=clientSocket.recv(2048.decode();
打印(修改消息);
clientSocket.close();

我不知道WTF对我有什么问题?我怎么会错过那个简单的事情。。。无论如何,非常感谢你帮我省了一个星期的头痛。在互联网上有什么资源可以让我阅读发布HTTPS请求的内容吗?你可以尝试使用Python
s
ssl`:。因此,它需要为你的一部分。