HTTPリクエスト
BASIC情報の流れ
- ユーザーがリンクをクリックします。
- HTMLのウェブサイトは、要求(クライアント側)を生成
- 要求がサーバーに送信されます。
- サーバは、要求(サーバ側)を行います
- バック応答を送信します。
POST対GET
Webアプリケーションにデータを送信するために使用される2つの主な方法:
URLを通じて1(通常はGETを使用)。
A。http://webisite.com/news.php?id=1
B。http://website.com/?id=1
入力要素(通常はPOSTを使用して)を介して2。
A。検索ボックス。
B。ログインボックス。
C。..etc。
ターゲットウェブサイト:HTTP:?//10.0.0.45/mutillidae/index.phpページ= DNS-lookup.php
#!は/ usr / binに/ envをPythonの インポート要求 から BS4の輸入BeautifulSoup から urllib.parse 輸入urljoinの デフ要求(URL)は: 試す: リターンrequests.get(URL)を 除いrequests.exceptions.ConnectionError: 合格 target_url = " のhttp:/ /10.0.0.45/mutillidae/index.php?page=dns-lookup.php 「 応答 = リクエスト(target_url) parsed_html = BeautifulSoup(response.content.decode()) forms_list = parsed_html.findAll(" フォーム" ) のための形態でforms_list: アクション = form.get(" アクション" ) POST_URL = urljoin(target_url、アクション) メソッド = form.get(" メソッド" ) inputs_list = form.findAll(" 入力" ) post_data = { } のための入力でinputs_list: input_name = input.get(" 名前" ) INPUT_TYPE= input.get(" タイプ" ) input_value = input.get(" 値" ) であれば INPUT_TYPE == " テキスト" : input_value = " テスト" post_data [input_name] = input_value 結果 = requests.post(POST_URL、データ= post_data) 印刷(result.content.decode())
成功したPythonのコードを実行します。