を使用してページをフェッチしようとしていますurllib2.urlopen
(実際にはを使用してmechanize
いますが、これはを呼び出すメソッドですmechanize
)ページをフェッチすると、不完全な応答が返されます。ページが切り捨てられます。ただし、HTTPS以外のバージョンのページにアクセスすると、完全なページが表示されます。
私はArchLinuxを使用しています(3.5.4-1-ARCH x86_64
)。私は走っていopenssl 1.0.1c
ます。この問題は、私が所有する別のArch Linuxマシンで発生しますが、Python 3(3.3.0
)を使用している場合は発生しません。
この問題は、urllib2がHTTP応答全体を取得しないことに関連しているようです。
urllib2(Py I / O)を使用できる唯一のオンラインPythonインタープリターでテストしたところ、期待どおりに機能しました。コードは次のとおりです。
import urllib2
u = urllib2.urlopen('https://wa151.avayalive.com/WAAdminPanel/login.aspx?ReturnUrl=%2fWAAdminPanel%2fprivate%2fHome.aspx')
print u.read()[-100:]
最後の行には通常のが含まれている必要があります</body></html>
。
urllib.urlretrieve
自分のマシンで試してみると、次のようになります。
ContentTooShortError: retrieval incomplete: got only 11365 out of 13805 bytes
urlretrieve
オンラインインタープリターではユーザーが一時ファイルに書き込めないため、テストできません。夕方遅くに、自分のマシンから、ただし別の場所からURLを取得してみます。