2015-05-31 9 views
2

Я написал следующий код python, который подключается к URL для получения данных с помощью json. Однако, когда мой сервер регистрирует эти запросы, они делаются дважды каждый раз.Python urllib, запрашивающий несколько раз

Я предполагаю, что это связано с тем, что он сначала использует try, а затем повторно запрашивает URL-адрес, если метод try встречается. Любые предложения о том, как я могу сделать это, чтобы он только отправил запрос на сервер один раз? Благодаря

  import json 
      import urllib.request, urllib.error, urllib.parse 

      remoteURL = "http://192.168.0.29/" + "?id=" + id 
      json_obj = urllib.request.urlopen(remoteURL) 


      try: 
       with urllib.request.urlopen(remoteURL) as response: 
        if response.read(1): 
         string = json_obj.read().decode('utf-8') 
         json_obj = json.loads(string) 
         responseName = json_obj['Name'] 
         print(responseName) 
        else: 
         print("Error") 
      except: 
       print("URL Failed") 
+2

Ofcourse это делает вызов дважды. Вы дважды вызываете 'urlopen (remoteURL)'! –

ответ

0

Первый запрос:

json_obj = urllib.request.urlopen(remoteURL) 

Второй запрос:

with urllib.request.urlopen(remoteURL) as response: 
Смежные вопросы