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 commentaire

lotus whit
lotus whit le 16 Août 2017
Modifié(e) : per isakson le 16 Août 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?

Connectez-vous pour commenter.

Réponses (2)

Walter Roberson
Walter Roberson le 22 Sep 2016

1 vote

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 commentaires

YW
YW le 23 Sep 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?
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 le 3 Oct 2016
How to fix the proxy, is it from my company IT?
Guillaume
Guillaume le 3 Oct 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 le 3 Oct 2016
Modifié(e) : Kirby Fears le 3 Oct 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 le 3 Avr 2017
worked for my issue, thanks!

Connectez-vous pour commenter.

YW
YW le 4 Oct 2016
Modifié(e) : Walter Roberson le 4 Oct 2016

1 vote

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 commentaire

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

Connectez-vous pour commenter.

Produits

Tags

Question posée :

YW
le 22 Sep 2016

Modifié(e) :

le 16 Août 2017

Community Treasure Hunt

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

Start Hunting!

Translated by