2017-03-25 14 views
1

私のコードがこのエラーを返す理由がわかりません。デバッグできないようです。ここでurlretrieveがタイプエラーを返す

TypeError: expected string or bytes-like object

私はurlretrieveは、ヘッダの送信を許可しないことが表示されます

self.headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' } 
self.request = urllib.request.Request(url, headers=self.headers) 
urllib.request.urlretrieve(self.request, reporthook=report) 
+0

「urlretrieve」はヘッダーの送信を許可していないと思います。それは彼らなしでは機能しますか? – bernie

+0

いいえ、私のウェブサーバに '403 Forbidden 'を返します。それは私が私のウェブサイトを変えなければならないということですか? – decryptable

+0

私にあなたに聞かせてください:あなたは 'reporthook'を使わずに行けるでしょうか?そのため、ヘッダを許可する 'urlopen'を使うことができます。 – bernie

答えて

1

をダウンロードするために使用しているものです。

エラーが表示されるのは、urlretrieveは、Requestオブジェクトではなく、そのURLが存在するためです。

あなた自身のウェブサーバーであるため、おそらくあなたの設定を変更して、ヘッダなしのurlretrieveリクエストを受け入れることができます。

幸運のベスト。

関連する問題