import urllib.request
import time
import json
import random
QUERY = "http://localhost:8080/query?id={}"
N = 500
def getDataPoint(quote):
stock = quote['stock']
bid_price = float(quote['top_bid']['price'])
ask_price = float(quote['top_ask']['price'])
price = (bid_price + ask_price)/2
return stock, bid_price, ask_price, price
def getRatio(price_a, price_b):
if(price_b==0):
return
return price_a/price_b
if __name__ == "__main__":
for _ in range(N):
quotes = json.loads(urllib.request.urlopen(
QUERY.format(random.random())).read())
prices = {}
for quote in quotes:
stock, bid_price, ask_price, price = getDataPoint(quote)
prices[stock] = price
print ("Quoted %s at (bid:%s, ask:%s, price:%s)" % (stock,
bid_price, ask_price, price))
print ("Ratio %s" % getRatio(prices['ABC'], prices['DEF']))
Отслеживание (последний вызов последним): файл «C: / Users / AppData / Local / Programs / Python / Python37 / client.py», строка 54, в кавычках = json .loads (urllib.request.urlopen (QUERY.format (random.random ())). read ()) Файл "C: \ Users \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ urllib \ request. py ", строка 222, в urlopen return opener.open (url, data, timeout) File" C: \ Users \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ urllib \ request.py ", строка 531, в open response = meth (req, response) File "C: \ Users \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ urllib \ request.py", строка 641, в http_response 'http', запрос, ответ , code, msg, hdrs) Файл "C: \ Users \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ urllib \ request.py", строка 569, в ошибке result = self._call_chain (* args) Файл "C: \ Users \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ urllib \ request.py", строка 503, в _call_chain result = fun c (* args) File "C: \ Users \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ urllib \ request.py ", строка 649, в http_error_default поднять HTTPError (req.full_url, code, msg, hdrs, fp) urllib.error.HTTPError: Ошибка HTTP 404: не найдено
Я Ошибка с URL-адресом. Провел некоторое исследование и попытался выяснить, все еще не совсем уверен, почему клиентская часть выдает ошибку, а серверная часть работает нормально.