0

ID とパスワードを使用して Web ページにログインし、Web サイト内のリンクに移動して、リンクの応答としてページ ソースに表示される完全なページ コードまたは応答をダウンロードする方法を教えてください。perl または python を使用してみましたが、うまくいきませんでした。www.server.com:7180 にログインして Cookie を保存し、次に ww.server.com:7180/healthissues ページにリダイレクトするか、ブラウザーで得られた応答をテキスト ファイルで直接ダウンロードする方法についてサポートが必要です。

import urllib
import urllib2
import webbrowser
import cookielib
data1={
'j_username':'id', 'j_password':'pass'
}

data = urllib.urlencode(data1)
url = 'http://server.intranet.com:7180/cmf/allHealthIssues'
full_url = url + '?' + data
response = urllib2.urlopen(full_url)
with open("results.html", "w") as f:
f.write(response.read())

webbrowser.open("results.html")

上記のコードはWebページをダウンロードしますが、ダウンロードでは常に認証ページになります。多くのパッケージを見つけましたが、残念ながらパッケージやライブラリをインストールするアクセス権がありません。どんな助けでも大歓迎です。


PM 2Ring によって提案されたコードを試してみましたが、以下のエラーが表示されます。Python 2.6.6 を使用していますが、その方法が機能するかどうかはわかりません。エラーの回避策または解決方法があれば教えてください。

Traceback (most recent call last):
  File "a.py", line 15, in <module>
    handle = urllib2.urlopen(req)
  File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib64/python2.6/urllib2.py", line 397, in open
    response = meth(req, response)
  File "/usr/lib64/python2.6/urllib2.py", line 510, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib64/python2.6/urllib2.py", line 435, in error
    return self._call_chain(*args)
  File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.6/urllib2.py", line 518, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 403: Invalid request
4

1 に答える 1