簡體   English   中英

Python在socket上發送cmd

[英]Python send cmd on socket

我有一個關於Python的簡單問題:

我有另一個Python腳本偵聽Linux機器上的端口。 我已經做到了所以我可以向它發送一個請求,它會通知另一個系統它還活着並且在聽。

我的問題是我不知道如何從同一台機器上運行的另一個python腳本發送此請求(腮紅)

我每分鍾運行一個腳本,我想擴展它以發送此請求。 我不希望得到回復,我的監聽腳本會提到數據庫。

在Internet Explorer中,我這樣寫: http//192.168.1.468193 /?我想知道如何從Python中執行此操作,並且最好只是發送而不是掛起,如果其他腳本沒有運行。

謝謝邁克爾

看起來您正在執行HTTP請求,而不是ICMP ping。

urllib2 ,內置於Python,可以幫助您做到這一點。

你需要覆蓋超時,這樣你就不會拖得太久。 直接從上面的那篇文章中,這里有一些示例代碼供您調整所需的超時和URL。

import socket
import urllib2

# timeout in seconds
timeout = 10
socket.setdefaulttimeout(timeout)

# this call to urllib2.urlopen now uses the default timeout
# we have set in the socket module
req = urllib2.Request('http://www.voidspace.org.uk')
response = urllib2.urlopen(req)
import urllib2

try:
    response = urllib2.urlopen('http://192.168.1.46:8193/?Ping', timeout=2) 
    print 'response headers: "%s"' % response.info()
except IOError, e:
    if hasattr(e, 'code'): # HTTPError
        print 'http error code: ', e.code
    elif hasattr(e, 'reason'): # URLError
        print "can't connect, reason: ", e.reason
    else:
        raise # don't know what it is

這有點超出我的意識,但也許這個問題可能會有所幫助?

用Python ping一個站點?

考慮扭曲 你想要實現的目標可以直接從他們的例子中獲取 它可能有點矯枉過正,但如果您最終想要開始添加身份驗證,授權,SSL等,您也可以從這個方向開始。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM