2015-11-10 220 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)