【问题标题】:When using urllib2, getting HTTPError 404使用 urllib2 时,出现 HTTPError 404
【发布时间】:2014-08-18 13:28:19
【问题描述】:

所以我使用以下代码:

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。我尝试阅读各种论坛上有关此错误的其他文档和问题,但我无法理解。回答类似问题的人提到制作饼干开瓶器,但我还是不太明白这意味着什么。我尝试查看其他人制作饼干开瓶器的示例,但它们似乎都涉及很多与我在这里尝试做的事情无关的事情,而且我不确定我到底是什么需要。

非常感谢您的帮助,谢谢。

【问题讨论】:

    标签: python cookies urllib2


    【解决方案1】:

    试试这个:

    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')
    

    【讨论】:

    • 试过了,它给了我一个“获取数据的问题”错误。另外,urllib 可以做的比 urllib2 更多吗?
    • 刚刚注意到您的编辑,尝试了它,并且成功了。非常感谢!
    猜你喜欢
    • 2013-07-16
    • 2013-01-27
    • 1970-01-01
    • 2012-07-12
    • 2012-07-28
    • 2017-12-29
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    相关资源
    最近更新 更多