要使用Python3套接字下載TFTP文件,可以使用以下代碼:
import socket
SERVER_IP = 'TFTP_SERVER_IP_ADDRESS'
TFTP_PORT = 69
def download_file(filename):
# Create UDP socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
client_socket.settimeout(5)
# Open file to write data
with open(filename, 'wb') as f:
# Send RRQ (Read Request) packet to server
rrq_packet = b'\x00\x01' + filename.encode('ascii') + b'\x00octet\x00'
client_socket.sendto(rrq_packet, (SERVER_IP, TFTP_PORT))
# Receive data packets and write to file
block_num = 1
while True:
data, server_address = client_socket.recvfrom(1024)
opcode = data[0:2]
if opcode == b'\x00\x03': # Check if data packet
current_block_num = int.from_bytes(data[2:4], byteorder='big')
if current_block_num == block_num:
f.write(data[4:])
ack_packet = b'\x00\x04' + data[2:4]
client_socket.sendto(ack_packet, server_address)
if len(data) < 516:
break # Last packet
block_num += 1
# Close socket
client_socket.close()
# Call function to download file
download_file('FILE_NAME')
在這段代碼中,我們首先定義服務(wù)器IP地址和TFTP端口號(hào)。然后,我們定義一個(gè)函數(shù)download_file,它將文件名作為輸入,并使用TFTP下載它。
在該函數(shù)中,我們創(chuàng)建一個(gè)UDP套接字并打開(kāi)一個(gè)文件將數(shù)據(jù)寫(xiě)入其中。我們向服務(wù)器發(fā)送一個(gè)讀取請(qǐng)求(RRQ)包并接收數(shù)據(jù)包。我們檢查接收到的數(shù)據(jù)包是否是數(shù)據(jù)包,是否具有正確的塊號(hào),并將數(shù)據(jù)寫(xiě)入文件。我們還向服務(wù)器發(fā)送確認(rèn)(ACK)包,以確認(rèn)我們已經(jīng)接收到該包。
我們一直在接收數(shù)據(jù)包,直到收到長(zhǎng)度小于516字節(jié)的包(最后一個(gè)包)。最后,我們關(guān)閉套接字。
聲明本文內(nèi)容來(lái)自網(wǎng)絡(luò),若涉及侵權(quán),請(qǐng)聯(lián)系我們刪除! 投稿需知:請(qǐng)以word形式發(fā)送至郵箱[email protected]
站長(zhǎng)你好,你說(shuō)的盧松松博客上面那篇帖子就是我翻譯的,原出處是這里:.life-cream.com/co-citation-and-co-occurrence/你的這篇帖子提到Google和Baidu官方已經(jīng)正式聲明co-citation和co-occurence不存在,但是對(duì)于Rand提到的那個(gè)例子,以opensiteexplorer為例,在明顯以backlink analysis為錨文本的鏈接不多的情況下,為什么opensiteexplorer能排到第一?在這個(gè)例子中,可以忽略co-citation的作用嗎?這談不上是官方正式聲明,只是比較明確的回答。是否完全不存在,還不能100%確認(rèn),任何一個(gè)搜索引擎工程師都不能知道100%的細(xì)節(jié)。另一方面,Rand提到的例子也可能用其它理由解釋得通,比如是否錨文字周?chē)淖衷谄鹱饔??或者鏈接?yè)面Title文字起作用?這個(gè)我沒(méi)有仔細(xì)研究,你感興趣的話(huà)可以檢查、統(tǒng)計(jì)一下,有結(jié)論了告訴我一聲。我覺(jué)得關(guān)于co-citation的“因果論”有一定道理,就像關(guān)于Google是否會(huì)把你頁(yè)面的在線時(shí)長(zhǎng),跳出率等納入排名算法的爭(zhēng)論一樣,你的頁(yè)面在線時(shí)間短,跳出率高,只是你的網(wǎng)頁(yè)質(zhì)量低下不夠吸引人的表現(xiàn),是結(jié)果,這種網(wǎng)頁(yè)必然得不到高排名,質(zhì)量低下不夠吸引人才是得不到排名的原因。