Python 3.4 HTTP错误505从url检索json

时间:2015-08-08 12:37:12

标签: python json urllib

我正在尝试连接到一个页面,该页面接受一些值并使用urllib在Python 3.4中以JSON格式返回一些数据。我想将从json返回的值保存到csv文件中。

这就是我试过的......

import json
import urllib.request

url = 'my_link/select?wt=json&indent=true&f=value'
response = urllib.request.Request(url)    
response = urllib.request.urlopen(response)
data = response.read()

我收到以下错误:

urllib.error.HTTPError: HTTP Error 505: HTTP Version Not Supported
编辑:找到解决我问题的方法。我在下面回答。

2 个答案:

答案 0 :(得分:1)

您找到了一台显然不想与HTTP / 1.1通话的服务器。您可以通过修改http.client.HTTPConnection类来声称您正在使用HTTP / 1.0客户端来尝试撒谎:

import http.client
http.client.HTTPConnection._http_vsn = 10
http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0'

并重新尝试您的请求。

答案 1 :(得分:0)

我使用了FancyURLopener并且它有效。发现这很有用:docs.python.org: urllib.request

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="bar-something"><div class="fn-label"> SOMETHING</div> </div>
<div class="bar-appointment"><div class="fn-label"> Ap1</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap2</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap3</div></div>
<div class="bar-something-else"><div class="fn-label"> SOMETHING</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap1</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap2</div></div>
<div class="bar-appointment"><div class="fn-label"> Ap3</div></div>
<div class="bar-something-odd"><div class="fn-label"> SOMETHING</div></div>

希望这可以帮助那些遇到与我相同问题的人。