When I try to open a URL via urllib, but I get this error message:
File "C:\Users\albert\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 936, in connect (self.host,self.port), self.timeout, self.source_address) File "C:\Users\albert\AppData\Local\Programs\Python\Python36-32\lib\socket.py", line 722, in create_connection raise err File "C:\Users\albert\AppData\Local\Programs\Python\Python36-32\lib\socket.py", line 713, in create_connection sock.connect(sa) TimeoutError: [WinError 10060] 連線嘗試失敗,因為連線對象有一段時間並未正確回應,或是連線建立失敗,因為連線的主機無法回應。
Here has the code snippet:
import urllib.request, json from test.json.row import row with urllib.request.urlopen("http://od.moi.gov.tw/api/v1/rest/datastore/A01010000C-000628-023") as url: data = json.loads(url.read().decode()) print(data) dataList = [] count = 1 for value in data['result']['records']: if(count > 1): no = value['No'] # 編號 address = value['Address'] # 地點位置 deptNm = value['DeptNm'] # 管轄警察局 branchNm = value['BranchNm'] # 分局 dataList.append(row(no, address, deptNm, branchNm)) print('no={}, address={}, deptNm={}, branchNm={}'.format(no, address, deptNm, branchNm)) count += count
How-to
This error result from failing to connect to this URL. I need to configure proxy in my network environment as I connect. Hence, the updated code will look like:
import urllib.request, json from test.json.row import row import os os.environ['http_proxy'] = 'http://proxy.cht.com.tw:8080' with urllib.request.urlopen("http://od.moi.gov.tw/api/v1/rest/datastore/A01010000C-000628-023") as url: data = json.loads(url.read().decode()) print(data) dataList = [] count = 1 for value in data['result']['records']: if(count > 1): no = value['No'] # 編號 address = value['Address'] # 地點位置 deptNm = value['DeptNm'] # 管轄警察局 branchNm = value['BranchNm'] # 分局 dataList.append(row(no, address, deptNm, branchNm)) print('no={}, address={}, deptNm={}, branchNm={}'.format(no, address, deptNm, branchNm)) count += count
No comments:
Post a Comment