[ホーム] - [よく見るエラーメッセージ一覧] - ["ConnectionRefusedError: [WinError 10061] 対象のコンピューターによって拒否されたため、接続できませんでした"の原因と対処]

【Python】"ConnectionRefusedError: [WinError 10061] 対象のコンピューターによって拒否されたため、接続できませんでした"の原因と対処 | インターネットからファイルをダウンロードするサンプル





作成日:2022/02/18


urllib.request.urlretrieve でインターネット上のファイルをダウンロードしようとしたところ次のエラーが発生しました。


ConnectionRefusedError: [WinError 10061] 対象のコンピューターによって拒否されたため、接続できませんでした



色々な原因が考えられると思います。
今回は https に対応していない Webサーバに対して http で取得しようとしてこのエラーが発生していました。
http に変更して無事ダウンロードが可能となりました。


【間違い】

import urllib.request

url='https://tooljp.com/test.txt'

# \\escape
download_file_name='c:\\temp\\test2.txt'

urllib.request.urlretrieve(url, download_file_name)

Traceback (most recent call last):
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 1342, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1255, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1301, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1250, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1010, in _send_output
self.send(msg)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 950, in send
self.connect()
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 1417, in connect
super().connect()
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\http\client.py", line 921, in connect
self.sock = self._create_connection(
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\socket.py", line 843, in create_connection
raise err
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\socket.py", line 831, in create_connection
sock.connect(sa)
ConnectionRefusedError: [WinError 10061] 対象のコンピューターによって拒否されたため、接続できませんでした。

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "c:\temp\test.py", line 8, in urllib.request.urlretrieve(url, download_file_name)
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 239, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "C:\Users\username\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 214, in urlopen
以下省略

サンプルコード

以下は Windows 10 環境における正常実行可能なサンプルコードです。

Windows 環境におけるインターネット上のWebサーバからファイルをダウンロードするサンプルを紹介します。
urllib はURLを利用するための便利なモジュール群です。
この中の urllib.request は URLs を取得するための Python のモジュールです。

次のサンプルではWebサーバ上からファイルをダウンロードします。

download_file_name にはファイルをダウンロードするローカルのファイル名を指定します。
サンプルコード:


import urllib.request

url='http://tooljp.com/test.txt'

# \\escape
download_file_name='c:\\temp\\test2.txt'

urllib.request.urlretrieve(url, download_file_name)







本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)

[ホーム] - [よく見るエラーメッセージ一覧]