https 使用 python urllib2 获取请求

https get request with python urllib2

我正在尝试使用下面的 urllib2.Please 检查代码从 quandl 获取数据。

import json
from pymongo import MongoClient
import urllib2
import requests
import ssl
#import quandl
codes = [100526];
for id in codes:
    url = 'https://www.quandl.com.com//api/v3/datasets/AMFI/"+str(id)+".json?api_key=XXXXXXXX&start_date=2013-08-30'
    req = urllib2.Request(url)
    response = urllib2.urlopen(req)
    data = response.read()
    print data

for id in codes:
    url = "https://www.quandl.com.com//api/v3/datasets/AMFI/"+str(id)+".json?api_key=XXXXXXXX&start_date=2013-08-30"
    request = requests.get(url,verify=False)
    print request

我在第一种情况下收到 HTTPERROR 异常 404。当我使用请求模块时,即使在使用 verify=false 之后我也会收到 SSL 错误。我正在浏览以前的帖子,但其中大部分与 HTTP 请求有关。

感谢您的帮助。 J

这对我有用,但您会收到有关 SSL 证书的警告,但您无需关心它。

import requests
codes = [100526];
for id in codes:
    url = "https://www.quandl.com.com//api/v3/datasets/AMFI/"+str(id)+".json?api_key=XXXXXXXX&start_date=2013-08-30"
    request = requests.get(url, verify=False)
    print request.text

request.text 有您的回复数据。

您似乎在第一版代码中使用了错误的 URL(.com.com 而不是 .com)以及不同引号的组合。请改用以下内容,它应该可以工作:

import urllib2
import requests

codes = [100526]

for id in codes:
    url = "https://www.quandl.com//api/v3/datasets/AMFI/"+str(id)+".json?start_date=2013-08-30"
    req = urllib2.Request(url)
    response = urllib2.urlopen(req)
    print response.read()

for id in codes:
    url = "https://www.quandl.com//api/v3/datasets/AMFI/"+str(id)+".json?start_date=2013-08-30"
    response = requests.get(url,verify=False)
    print response.text

要禁用有关 SSL 证书的警告,请在使用 requests:

发出请求之前使用
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)