私はCTFに入ろうとしていますが、ctf.slothparadise.comというWebベースのCTFスキルを実践するためのクールなWebサイトが見つかりました。私は4つのフラッグスを手に入れましたが、そのうちの2人が私に指を与えています。そして悲しいことに、良いOl 'Pythonのスキルを磨き上げなければなりませんでした。Python urllib module TypeError
import urllib.error
import urllib.request
import urllib.parse
import urllib
import sys
while True:
about_page = urllib.request.urlopen("http://ctf.slothparadise.com/about.php").read()
if "KEY" in about_page:
print(about_page)
sys.exit(0)
ctf.slothpython.com/about.phpは私がプログラミングてるページです、それはソースコード内のキーのすべての1000人の訪問者を出してくれる。バカになって1000まで爽快にする代わりに、コード "KEY"がページのソースコードに現れるまで、ページを開いたままにしておきたいと思ってコードを書きました。
私はこの取得しています:私は、私はおそらく間違った形式で「KEY」を持っていることが推測しているTypeErrorsについて知っているから:(「str」はバッファインタフェースをサポートしていない例外TypeErrorが)
を?私は本当にわかりません、私も適切なモジュールを使用していない可能性がありますが、私は通常、これは別のモジュールに分割された古いurllib2モジュールので、私はこれらの新しいモジュールに行く学習です。
TypeErrorsの解釈が間違っていても私を修正しても問題が解決しない場合は、この問題の修正にお手伝いをしてください。
明らかに、 'urlopen'はすでにページの内容を返します。ファイルのようなオブジェクトではなく' read'を返します。 – ForceBru
本当に別の方法が必要な場合を除き、['requests'](http://docs.python-requests.org/ja/master/user/quickstart/)を使ってください。 – roganjosh