我試圖從「Python for Informatics」一書的第12章中執行以下代碼。HTTP/1.1 400錯誤請求。錯誤的命令部分數量
import socket
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('www.py4inf.com', 80))
mysock.send('GET http://www.py4inf.com/code/romeo.txt HTTP/1.0\n\n')
while True:
data = mysock.recv(512)
if (len(data) < 1) :
break
print data
mysock.close()
根據這本書,腳本應該打印以下:
HTTP/1.1 200 OK 日期:孫老師,2010 3月14日23時52分41秒GMT 服務器:Apache 最後修飾:星期二,2009年12月29日1時31分22秒GMT 的ETag: 「143c1b33-a7-4b395bea」 接受-範圍:字節 的Content-Length:167 連接:關閉 的Content-Type:text/plain的 但通過那柔軟的光線窗口打破 那是東方朱麗葉就是太陽 起來美麗的太陽,殺死羨慕月亮 誰已經面色慘白悲傷
不幸的是,可變數據充滿以下字符串:
'HTTP/1.1 400錯誤請求。命令部分差多少[ 'GET', 'http://www.py4inf.com/code/romeo.txt', 'HTTP/1.0', 'X-WS-版本:', '1.0']」
我找不到這個錯誤有什麼好的解釋。我希望有人能幫幫忙!
你是否使用套接字來設置它?您可以使用請求庫:'requests.get(url).text'。 – postelrich
我得到'HTTP/1.1 200 OK'運行上面的代碼。 – Ahmad
GET /code/romeo.txt HTTP/1.1 \ r \ n主機:www.py4inf.com \ r \ n用戶代理:Mozilla/5.0(X11; Ubuntu; Linux x86_64; rv:48.0)Gecko/20100101 Firefox/48.0 \ r \ n接受:text/html,application/xhtml + xml,application/xml; q = 0.9,*/*; q = 0.8 \ r \ n接受語言:en-US,en; q = 0.5 \ r \ nAccept-Encoding:gzip,deflate \ r \ nConnection:keep-alive \ r \ nUpgrade-Insecure-Requests:1 \ r \ n \ r \ n''我刪除了答案,因爲每個異常或步驟都需要大量的定義。 – dsgdfg