使用urllib2时,获取HTTPError 404

时间:2014-08-18 03:58:40

标签: python cookies urllib2

所以我使用以下代码:

allArgs = ['subway.py', '1b8d465e-b217-46f9-87a7-e9e48aaccb0f', 'B38']

HTTPCookieProcessor()

bus = urllib2.urlopen("http://api.prod.obanyc.com/api/siri/ \
    vehicle-monitoring.json?key=" + allArgs[1] + \
    "&VehicleMonitoringDetailLevel=calls&LineRef=" + allArgs[2])

并获得HTTPError 404.我尝试在各种论坛上阅读有关此错误的其他文档和问题,但我无法理解。有人在回答类似问题时提到过开启cookie,但我再也不明白这意味着什么。我试着看看其他人制作开罐器的例子,但他们似乎都涉及很多与我试图在这里做的事情不相关的事情,而且我不确定我到底需要什么。

非常感谢帮助,谢谢。

1 个答案:

答案 0 :(得分:2)

请改为尝试:

import urllib
import json

url = "http://api.prod.obanyc.com/api/siri/vehicle-monitoring.json?"

args = {'VehicleMonitoringDetailLevel': 'calls'}
args['key'] = '1b8d465e-b217-46f9-87a7-e9e48aaccb0f'
args['LineRef'] = 'B38'

try:
    data = json.load(urllib.urlopen('{}{}'.format(url, urllib.urlencode(args))))
except (IOError, ValueError):
    print('Problem fetching data')