Python urllib的意外行为

Pan*_*Jee 1 python api json servlets

我尝试使用JSON响应,但我有一个非常奇怪的行为.终点是在Tomcat上运行的Java应用程序.我想加载以下网址

http://opendata.diavgeia.gov.gr/api/decisions?count=50&output=json_full&from=1
Run Code Online (Sandbox Code Playgroud)

使用Ruby open-uri我加载了json.如果我在浏览器中点击,我仍然会收到回复.一旦我尝试使用Python的urllib或urllib2,我就会收到错误

javax.servlet.ServletException: Could not resolve view with name 'jsonView' in servlet with name 'diavgeia-api'
Run Code Online (Sandbox Code Playgroud)

这很奇怪,我猜错误在于API服务器.任何提示?

Sim*_*onJ 5

服务器似乎需要"接受"标头:

>>> print urllib2.urlopen(
...   urllib2.Request(
...     "http://opendata.diavgeia.gov.gr/api/decisions?count=50&output=json_full&from=1",
...     headers={"accept": "*/*"})).read()[:200]
{"model":{"queryInfo":{"total":117458,"count":50,"order":"desc","from":1},"expandedDecisions":[{"metadata":{"date":1291932000000,"tags":{"tag":[]},"decisionType":{"uid":27,"label":"??????","extr
Run Code Online (Sandbox Code Playgroud)