-1
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)
4

2 回答 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 请求,但弄错了:

  1. 之后不应该有空格Host,即应该是Host: hostname而不是Host: hostname像你那样。
  2. 行尾应该是\r\n而不是\n。你在第一行之后得到它,但不是在Host标题之后,也不是在标题结束标记之后。
于 2018-05-20T20:57:00.483 回答