webread examples don't work

I tried to find out how webread works. Following examples don't work for me.
>> filex = 'http://www.mathworks.com/matlabcentral/fileexchange/';
fullList = webread(filex);
Error using readContentFromWebService (line 45)
The server returned the message: "Server redirected too many times (20)" for URL,
'http://nroyaltonproxy:8889/?cfru=aHR0cDovL3d3dy5tYXRod29ya3MuY29tL21hdGxhYmNlbnRyYWwvZmlsZWV4Y2hhbmdlLw=='
(with HTTP response code unknown).
Error in webread (line 122)
[varargout{1:nargout}] = readContentFromWebService(connection, options);

1 comentario

lotus whit
lotus whit el 16 de Ag. de 2017
Editada: per isakson el 16 de Ag. de 2017
I have the same problem when i called Google translation API, this is my code
url = 'https://translation.googleapis.com/language/translate/v2'
options.KeyName = 'apikey';
options.RequestMethod ='Get';
Options.ContentType ='Josn';
options.KeyValue='XXXXXX';
response = webread(url,options)
the following error appeared :
Error using readContentFromWebService (line 37)
The server returned the message: "Forbidden" for URL,
'https://translation.googleapis.com/language/translate/v2' (with
HTTP response code 403).
Error in webread (line 115)
[varargout{1:nargout}] = readContentFromWebService(connection, options);
I filled key value as it is in my console, any one help?

Iniciar sesión para comentar.

Respuestas (2)

Walter Roberson
Walter Roberson el 22 de Sept. de 2016

1 voto

You appear to be using a http proxy that is having difficulty with the site.
When I use telnet directly to the webserver port and make the request, I do not receive any redirect messages at all.
Oni:~ roberson$ telnet www.mathworks.com 80
Trying 23.4.13.144...
Connected to e6779.b.akamaiedge.net.
Escape character is '^]'.
GET http://www.mathworks.com/matlabcentral/fileexchange/ HTTP/1.0
HTTP/1.0 200 OK
Server: Apache/2.2.3 (CentOS)
X-UA-Compatible: IE=Edge,chrome=1
ETag: "6aac7270871d08f05076ae85c7d9b998"
X-Request-Id: d73f63c54278a9d1730b2e1f23605a5f
X-Runtime: 0.044456
X-Rack-Cache: miss
X-Powered-By: Phusion Passenger 4.0.59
Status: 200 OK
Content-Type: text/html; charset=utf-8
Expires: Thu, 22 Sep 2016 22:36:15 GMT
Cache-Control: max-age=0, no-cache, no-store
Pragma: no-cache
Date: Thu, 22 Sep 2016 22:36:15 GMT
Content-Length: 26612
Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
(etc)

6 comentarios

YW
YW el 23 de Sept. de 2016
But that site was a Mathworks site, and that example comes from the webread's help. What needs to be done before I call webread?
Walter Roberson
Walter Roberson el 23 de Sept. de 2016
You need to get your proxy fixed. Notice in your error message
The server returned the message: "Server redirected too many times (20)" for URL,
'http://nroyaltonproxy:8889/?cfru=aHR0cDovL3d3dy5tYXRod29ya3MuY29tL21hdGxhYmNlbnRyYWwvZmlsZWV4Y2hhbmdlLw=='
The nroyaltonproxy:8889 is at your end.
YW
YW el 3 de Oct. de 2016
How to fix the proxy, is it from my company IT?
Guillaume
Guillaume el 3 de Oct. de 2016
Yes, your company has a proxy server (nroyaltonproxy) between you and the web. This is fairly common for enterprise and university networks.
Unfortunately, in this case, the proxy server does not behave properly. Possibly, it recognises the matlab user agent as a new browser and wants you to authenticate, or it's just not a very good proxy.
Your best course of action is to contact your IT support.
Kirby Fears
Kirby Fears el 3 de Oct. de 2016
Editada: Kirby Fears el 3 de Oct. de 2016
Since you're able to successfully visit that website in your browser, you can try manually changing the user agent so Matlab pretends to be a web browser. If this works, you can ask your IT support to allow for Matlab as a user agent.
opts = weboptions('UserAgent','Mozilla/5.0');
filex = 'http://www.mathworks.com/matlabcentral/fileexchange/';
fullList = webread(filex,opts);
Wyfi Mcfly
Wyfi Mcfly el 3 de Abr. de 2017
worked for my issue, thanks!

Iniciar sesión para comentar.

YW
YW el 4 de Oct. de 2016
Editada: Walter Roberson el 4 de Oct. de 2016

1 voto

Still didn't work. See below:
>> opts = weboptions('UserAgent','Mozilla/5.0')
opts =
weboptions with properties:
CharacterEncoding: 'auto'
UserAgent: 'Mozilla/5.0'
Timeout: 5
Username: ''
Password: ''
KeyName: ''
KeyValue: ''
ContentType: 'auto'
ContentReader: []
MediaType: 'application/x-www-form-urlencoded'
RequestMethod: 'auto'
ArrayFormat: 'csv'
>> filex = 'http://www.mathworks.com/matlabcentral/fileexchange/'
filex =
http://www.mathworks.com/matlabcentral/fileexchange/
>> fullList = webread(filex,opts)
*Error using readContentFromWebService (line 45)
The server returned the message: "Server redirected too many times (20)" for
URL,
'http://nroyaltonproxy:8889/?cfru=aHR0cDovL3d3dy5tYXRod29ya3MuY29tL21hdGxhYmNlbnRyYWwvZmlsZWV4Y2hhbmdlLw=='
(with HTTP response code unknown).
Error in webread (line 122)
[varargout{1:nargout}] = readContentFromWebService(connection, options);*

1 comentario

Walter Roberson
Walter Roberson el 4 de Oct. de 2016
You will probably need to contact your network people.

Iniciar sesión para comentar.

Productos

Etiquetas

Preguntada:

YW
el 22 de Sept. de 2016

Editada:

el 16 de Ag. de 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by