前提・実現したいこと
VisualStudioでpython開発を行っています。
urllib.request.urlopenを利用して特定のURLを叩いた時のレスポンスを取得したいのですが、ログイン情報?セッション情報?が保持出来ていない気がします。
ちょっと文字での説明が下手なのですが・・・
例えば、yahooにログインしているchromeがあります。
VisualStudioでデバッグをスタートするとlocalhostアクセスしたTESTページがが同chromeの新規タブとして開かれると思います。
自分の想定していた考えでは、同じブラウザで開いている(タブは別ですけど)ので、TESTページにあるボタンからpyファイルを実行しurlopen(知恵袋のページ)を行った場合、ログインしている状態で知恵袋のページにアクセスでき、そのレスポンスが帰ってくる想定だったのですが、非ログイン状態で知恵袋のページのレスポンスが帰って来ました。
ちょっとわかりにくいのですが、chromeでログイン認証が完了している場合で、そのログインが成功している状態で特定のページを開く方法をご存知の方がいれば、ご教授頂きたいです!
teratailすら利用するのが初めてなのでとても見にくくて申し訳ないです。。。
該当のソースコード
html
1 <div>Relay 1: 2 <form action="{% url 'yahoo' %}" method="POST"> 3 {% csrf_token %} 4 <input type="submit" value="yahoo" id="updata_button_id" /> 5 </form> 6 </div>
py
1※urls 2path('yahoo', views.yahoo, name='yahoo'),
py
1※views 2def yahoo(request): 3 if request.method == 'POST': 4 yahoo.tie()
py
1※yahoo 2from urllib.request import urlopen 3 4# コンスト 5URL = 'https://chiebukuro.yahoo.co.jp/' 6HTTP_STATUS_OK = '200' 7 8# restでアイテムリストを取得してHTML形式を返す。 9def get_tie(): 10 return urlopen(URL) 11 12def tie(): 13 res = get_tie() 14 if str(res.getcode()) != HTTP_STATUS_OK: 15 print('取得失敗!:' + str(res.getcode())) 16 else: 17 print(res.read().decode('utf-8'))
補足情報(FW/ツールのバージョンなど)
Python 3.7 64bit
回答2件
あなたの回答
tips
プレビュー