これを前進させるのに役立つ小片を見てきましたが、すべてを結び付けようとしていますが、その時点ではありません.
要するに、ログインして TiVo に接続しようとしているので、デバイス上の録音の xml ファイルを取得できます。URL にユーザーとパスワードを含める方法を見つけようとしましたが、うまくいかないようです。URL を Chrome に入力すると、ユーザー名とパスワードのリクエスターが表示されます。
私は、ISP のルーターやファイアウォールにログオンするときに、これを目にすることに慣れています。これは当たり前のことだと思いますが、HTTP リクエストについて十分に理解していないため、処理方法を知ることができません。また、このページはログインを求めているため、問題であることもわかっていますが、SSL 証明書は自己署名されています。
認証リクエストを通過すると、必要なデータを取得できます。urllib2 を使用する場合の証明書チェックの処理について説明している、証明書の問題を無視することに関するこの質問を参照してください。最初の選択された回答は、urllib2 が証明書の信頼性をチェックしないと言っているため、役に立ちません。120 を超える賛成票を含む回答は、証明書に関するこの懸念に対処するためにさらに多くのことを行います。
この質問についても見ますlogins 、これも私の問題の一部に対処しています。その答えが、私が助けを必要としているのと同じ種類のログインを使用することについて話しているかどうかわかりません。また、URL からデータを取得するために 2 つの異なる方法を使用しているため、2 つの質問の回答を組み合わせる方法もわかりません。
wgetを使用した解決策も見つけました:
wget --no-check-certificate --http-user=tivo --http-password=your-MAK-here
-O nowplaying.xml "https://192.168.2.103/TiVoConnect?
Command=QueryContainer&Container=%2FNowPlaying&Recurse=Yes"
デバッグモードでwgetを試して、それが何をしたかを確認しました。どういうわけか、ユーザー名とパスワードが URL に埋め込まれていることを望んでいましたが、ターゲット システムからの検証要求に応答して、最初の連絡の後、それらが埋め込まれておらず、まだ渡されていることがわかりました。
私が説明している種類のログインを処理するものを Python で使用できるようにする必要があります。しかし、証明書が自己署名されているという事実を無視するには、同じ方法も必要です。それぞれに解決策はありますが、両方を一緒に扱うことはできません。
では、このタイプのログインをどのように処理すればよいでしょうか? (2 番目の質問のログインの問題と同じですか) また、同時に証明書の問題を無視するにはどうすればよいですか?