使用Matlab和urlread从https读取数据?
我正在尝试使用url读取下载https页面: str=urlread('https://funds.barclaysstockbrokers.co.uk/clients/bsl/search_factsheet_summary.aspx?code=B0XWN14") 不幸的是,我得到了一个错误:使用Matlab和urlread从https读取数据?,matlab,https,urlread,Matlab,Https,Urlread,我正在尝试使用url读取下载https页面: str=urlread('https://funds.barclaysstockbrokers.co.uk/clients/bsl/search_factsheet_summary.aspx?code=B0XWN14") 不幸的是,我得到了一个错误: Error downloading URL. Your network connection may be down or your proxy settings improperly configur
Error downloading URL. Your network connection may be down or your proxy settings improperly configured.
我尝试使用urlread2(http://www.mathworks.co.uk/matlabcentral/fileexchange/35693-urlread2/content/urlread2.m)
但这给了我一个错误:
Response stream is undefined
below is a Java Error dump (truncated):
??? Error using ==> urlread2 at 217
Java exception occurred:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
我需要做什么?这是一个证书安全信任问题 我在Mathematica中尝试了相同的命令,得到了一个漂亮的弹出窗口,询问我是否要接受证书
str="https://funds.barclaysstockbrokers.co.uk/clients/bsl/search_factsheet_summary.aspx"
Import[str]
当我点击accept for the session only时,我得到了数据OK
我不使用urlread()。但至少现在你知道为什么了。我在urlread中看不到选项
要做到以上几点。可能您需要Matlab中的另一个API来实现您想要的功能。matlab文件交换可能会处理此问题。这是一个证书安全信任问题 我在Mathematica中尝试了相同的命令,得到了一个漂亮的弹出窗口,询问我是否要接受证书
str="https://funds.barclaysstockbrokers.co.uk/clients/bsl/search_factsheet_summary.aspx"
Import[str]
当我点击accept for the session only时,我得到了数据OK
我不使用urlread()。但至少现在你知道为什么了。我在urlread中看不到选项
要做到以上几点。可能您需要Matlab中的另一个API来实现您想要的功能。matlab文件交换可能会处理这个问题。以下是我所做的:
小结:
它涉及使用Chrome导出证书,然后使用将证书添加到Matlab的Java的cacerts文件中
小结:
它涉及使用Chrome导出证书,然后使用将证书添加到Matlab的Java的cacerts文件中。在Matlab 2014b之后,您可以使用:
DATA = webread(URL)
此新API没有urlread命令的所有问题。在matlab 2014b之后,您可以使用:
DATA = webread(URL)
这个新的API没有urlread命令所具有的所有问题。您可以下拉并直接调用Java API,Matlab的
urlread
构建在这些API之上。Matlab附带了ApacheHttpClient库,您可以调整它以忽略证书验证错误。去年我们也做过类似的工作。你可以直接调用Java API,Matlab的urlread
就是建立在这些API之上的。Matlab附带了ApacheHttpClient库,您可以调整它以忽略证书验证错误。去年,我不得不在工作中做类似的事情。