2015-08-17 8 views
-1

Я хочу написать код питона, который проверяет, если веб-сайт и работает, и если я печатаю случайную вещь, как «любого» программа будет сказать:Я хочу, чтобы проверить, если сайт нормально

«Недействительный веб-сайт. Попробуйте другое».

Это даст мне возможность проверить другой URL, если сервер не вверх программа будет сказать:

«Сервер сайта не вверх Попробуйте другой.»

И еще раз проверьте другой URL. Я пробовал так долго и всегда получаю исключение, которое я не хочу получать, я хочу изменить исключение на печать по своему выбору.

что я получил до сих пор:

import urllib 
print ("Which website would you like to check?") 
website_url = raw_input("--> ") 

#The user will stuck in a loop until a valid website is exist, using the Application protocol 
while urllib.urlopen(website_url).getcode() != 200: 
    print ("The website does not exist. Which website would you like to check?") 
    website_url = raw_input("--> ") 

Спасибо всем помощникам :)

+0

Вы написали эту программу уже? Проблема в том, что вы хотите изменить сообщение об ошибке? Можете ли вы показать нам, что у вас есть? – TigerhawkT3

+0

@ TigerhawkT3 просто сделал :) – Mike

+0

Какую версию python вы используете? Python 3? – svfat

ответ

-1
import urllib  
    if website_url.split('//')[0] != 'http:' and website_url.split('//')[0] != 'https:': # Adds http:// to the given URL because it is the only way to check for server response 
     website_url = 'http://' + website_url 
    while True: #The user will stuck in a loop until a valid website is exist, using the Application protocol 
      try: 
       if urllib.urlopen(website_url).getcode() != 200: 
        print ("Invalid URL given. Which website would you like to check?") 
        website_url = raw_input("--> ") 
       else: 
        print ("The server is up") 
        break 
      except: 
       print ("Invalid URL given. Which website would you like to check?") 
       website_url = raw_input("--> ") 
0

Попробуйте это:

import urllib 
print ("Which website would you like to check?") 
website_url = raw_input("--> ") 
#The user will stuck in a loop until a valid website is exist, using the Application protocol 
while True: 
    try: 
     if urllib.urlopen(website_url).getcode() != 200: 
      print ("The website does not exist. Which website would you like to check?") 
     else: 
      print "site is up" 
    except: 
     print "Invalid URL given" 
website_url = raw_input("--> ") 
+0

Этот код хорош с unvalid URL, но если я попробую URL-адрес, например «www.google.com», программа говорит «Недопустимый URL-адрес» – Mike

+0

И цикл не останавливается, я хочу, чтобы цикл остановился после действительного URL-адреса – Mike

+0

Правильно, я думаю, что это потому, что веб-сервер не возвращает код ответа 200, но что-то связанное с перенаправлением, может быть, также проверьте на 301 и 302? Что касается остановки цикла, просто добавьте разрыв сразу после выхода «сайт вверх». – Carlos

Смежные вопросы