10

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接続を確立しますか?

4

2 に答える 2

2

mechanize内部で使用urllib2し、後でバグがありました:HTTPS over(Squid)プロキシが失敗します。このバグはPython2.6.3で修正されているため、Pythonを更新すると問題が解決するはずです。

于 2009-12-08T13:45:15.530 に答える
1

わかりました、それは機械化のバグのようです

http://sourceforge.net/mailarchive/forum.php?thread_name=alpine.DEB.2.00.0910062211230.8646%40alice&forum_name=wwwsearch-general

于 2009-12-08T14:13:56.250 に答える