2017-10-31 4 views
-2

これは、それがどのように動作するかの一例である(バナーグラブ):PythonでHTTP GETリクエスト内に変数を追加することは可能ですか?

# Grab banner v1.0.0 

# http://ballingt.com/banner-grabbing-with-python/ 

from socket import * 

s = socket() 
s.connect(('www.google.com', 80)) 
s.send(b'GET/HTTP/1.1\nHost: www.google.com:80\n\n') 
print(s.recv(10000)) 

マイコード:

# Example IP-address that is in an array. 
all_hosts[i] = 192.168.1.1 

# Example port number 
portnum = 80 

print("Trying to grab banner from " + str(host) + "/" + str(all_hosts[i]) + " ...\n") 

s.connect((all_hosts[i], portnum)) 
s.send(b'GET/HTTP/1.1\nHost:all_hosts[i]:portnum\n\n') 
print(s.recv(10000)) 

追加するのではなくGETのHTTP行に変数を追加することが可能です静的IPアドレスとポート番号?私はより多くのバナーをつかむために私のコードの前にループを使用しています。それを行うための方法を見つけ

+0

'pycharm'はどのように関連するタグですか? –

+0

それは最も基本的な形式です:文字列の連結... ?! – deceze

+0

残念ながら、あなたのコーディングスタイルを使用して次のようになっています: s.send(b'GET/HTTP/1.1 \ nHost: '+ GET ...' + all_hosts [i] + ' + all_hosts + ':' + portnum + '\ n \ n') TypeError:strをバイトに連結できません 私はあなたのアイデアについても考えましたが、今までに試したことはありませんでした。 –

答えて

0

:私はすでに通常のを作ったので、

all_hosts[i] = 192.168.1.1 

# Example port number 
portnum = 80 

print("Trying to grab banner from " + str(host) + "/" + str(all_hosts[i]) + " ...\n") 

s.connect((all_hosts[i], portnum)) 
s.send(b'GET/HTTP/1.1\n\n\n') 
print(s.recv(10000)) 

私はすでにホストとそのポートとの接続をしたので、私はHTTPリクエストに再びそれらの詳細を入力する必要はありません。ホストとのTCP接続。

関連する問題