一般的に、このタスクにはHTTPクライアント/ライブラリを使用することができます(バックグラウンドでは、すべてのサーバーが正しいHTTP呼び出しを行うだけです)。
どの程度難しいかは、接続しているアプリケーションがどのように(ひどく)設計されているかによって決まります。
がここにサーバー
例にPOST経由でデータを送信し、セッションクッキーを追跡
- ログイン:最も単純なシナリオでは は、あなたがしたいと思いますPython
requests
を使用していますが、これは今日では最も良いオプションです。 今すぐ始めましょう。
まず、ログインページのフォームを調べる必要があります。通常、HTMLを見ると、リクエストの作成方法に関する十分な情報が得られます。
例は次のようになります。
<form action="/login" method="POST">
<input type="text" name="username">
<input type="password" name="password">
...
</form>
クッキーを追跡するために、我々はSession
オブジェクトを使用するつもりだ:
import requests
session = requests.Session()
次に、我々は資格証明書を提出するつもりですPOST(あなたのアプリがhttp://example.com
の場合):
response = session.post(
'http://example.com/login',
data={'username': 'your_user', 'password': 'your_password'})
この時点で、yoすべてがうまくいったことを確認するためにresponse.ok
を確認できます。 session.cookies
を調べると、セッションCookieが設定されているはずです。
これ以降、そのセッションを使用してアプリケーションに行われたすべてのリクエストは認証され、ブラウザから実行したものと同等です。
フォームデータを送信するには、アプリケーションがどのように動作しているかを調べるだけで済みます(フォームを検査してログインページを作成し、同じセッションを使用してPOST経由でデータを送信する)。
ページHTMLが複雑な場合は、ブラウザの開発者ツールを使用してHTTPリクエストを見て、コードを使ってそれらを複製すると便利です。
PHPから 'cURL'を使うことができます。 – Barmar
またはPythonの類似のライブラリ。 – Barmar
ありがとう、私は非常にPHPに精通していますが、これは同様に多くの学習プロジェクトです。私は要求ライブラリがかなりシンプルに見えるので、Pythonを続行することを考えていました。 NodeJSを学ぶことが私の現在の目標です。 NodeJSには誰でもPythonのリクエストと同様の良いライブラリがありますか? – crispyfrybits