HTTP経由でロードするログインフォームを含むWebページがありますが、HTTPS経由でデータを送信します。
このサイトにログインするためにpython-mechanizeを使用していますが、データはHTTP経由で送信されているようです。
私のコードは次のようになります:
import mechanize
b = mechanize.Browser()
b.open('http://site.com')
form = b.forms().next() # the login form is unnamed...
print form.action # prints "https://login.us.site.com"
form['user'] = "guest"
form['pass'] = "guest"
b.form = form
b.submit()
フォームが送信されると、接続はHTTP経由で行われ、次のようなものが含まれます。
send: 'POST https://login.us.site.com/ HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Length: 180\r\nHost: login.us.site.com\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n'...
誰かがこれを確認し、最終的に解決策を投稿して、フォームがHTTPS経由で送信されるようにすることはできますか?
後で編集:
1)http / httpsトラフィックにHTTPプロキシを使用しています(環境で設定-Linuxマシン)
2)Wiresharkでトラフィックを監視し、トラフィックが通常のHTTP経由で送信されていることを確認できます( POSTとmechanizeのコンテンツは、ウェブブラウザと同じリクエストをプロキシに送信しません。後者はCONNECT login.us.site.com:443を送信しますが、機械化はPOSTのみですhttps://login.us.site.com) 。ただし、データがプロキシを離れるときにデータがどうなるかはわかりません。おそらくそれはターゲットサイトへのSSL接続を確立しますか?