import socket
import sys
# creating socket object
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'www.google.com'
port = "80"
x = "GET / HTTP/1.1\r\nHost : "+ host + "\n\n"
s.connect((host, port)
s.send(request.encode()) # the line has error invalid syntax
response = s.recv(4096)
print (response)
问问题
416 次
2 回答
0
此行中的错误:
s.send(request.encode()) # the line has error invalid syntax
原因:您已经用变量名定义了请求,x
所以这应该适合您,
s.send(x)
于 2018-05-20T20:33:27.020 回答
0
添加有关代码问题的现有答案:
x = "GET / HTTP/1.1\r\nHost : "+ host + "\n\n"
您试图在这里构造一个 HTTP 请求,但弄错了:
- 之后不应该有空格
Host
,即应该是Host: hostname
而不是Host: hostname
像你那样。 - 行尾应该是
\r\n
而不是\n
。你在第一行之后得到它,但不是在Host
标题之后,也不是在标题结束标记之后。
于 2018-05-20T20:57:00.483 回答