2015-11-10 53 views
0

我正在为在线课程做练习,并不断收到错误。 Theres在输出中另外还有404错误,实际上也是如此。我相信真的只有两个地方可能会出现这种情况,第11行和第13行,但它看起来对我来说是正确的。如果我用固定地址替换变量(不是用户生成的),它可以正常工作。谢谢你的帮助。python 2.7 400错误的请求错误

import socket 

site= raw_input("Enter url:") 
print "" 
print "site is",site 
print "" 
hostel = site.split("/") 
print "Hostel is", hostel 
print "" 
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
mysock.connect((hostel[2], 80)) 

mysock.send('GET site HTTP/1.0\n\n') 

while True: 
    data = mysock.recv(1024) 
    data = data.strip() 
    if len(data) < 1: 
     break 
    print data 
mysock.close() 

回答

0

你不使用你的site变量这里,但硬是要求 “现场”:

mysock.send('GET site HTTP/1.0\n\n') 

尝试:

mysock.send('GET ' + site + ' HTTP/1.0\n\n') 
+0

我仍然收到错误? – futevolei

+0

尝试在'send'中使用相对网址而不是完整网址,例如/code/romeo.txt – miles82

0

你应该使用变量'site'而不是word site试试:

message_send = "GET/HTTP/1.1\r\nHost: %s\r\n\r\n".format(site) 
mysock.send(message_send)