my_socket.connect ((urlRssname, server_port)) socket.gaierror: [Errno 11001] сбой getaddrinfo - PullRequest
0 голосов
/ 01 декабря 2018

В настоящее время я работаю над реализацией протоколов TCP и HTTP, чтобы получить доступ к RSS-каналу и отобразить его для пользователя, который затем может выбрать один из них для просмотра большего количества.Мне разрешено использовать только операторы импорта, показанные ниже (поэтому, к сожалению, нет встроенных библиотек из python).Весь этот проект - это борьба за то, чтобы обернуть голову или даже понять, с чего начать, но я не могу идти дальше, пока не устраню эту ошибку.

После 3 часов поиска в Google, кажется, ни один из предыдущих ответов не смог решить мою проблему.Я попытался взглянуть на следующее: я подключен к Интернету, я выключил прокси-сервер, проверил, работает ли URL, я подключаюсь к порту 80, лишних пробелов нет.

Что касаетсякак я могу сказать, все в порядке, правильно закодировано, и мои настройки компьютера соответствуют.Соответствующий раздел кода выглядит следующим образом:

import socket
import sys
import webbrowser
import os
from urllib.parse import urlparse
from bs4 import BeautifulSoup

# ---------------------------------------------------------------------
def main():


my_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server_port = 80

# The size of the TCP receive buffer
buffer_size = 16
urlRssname = 'http://feeds.bbci.co.uk/news/world/us_and_canada/rss.xml?edition=int'
parseUrl = urlparse(urlRssname)
print(parseUrl)
print('connecting to {} on port {}'.format(urlRssname, 80))
my_socket.connect((urlRssname, server_port))
print(urlRssname)

Он никогда не печатает (urlRssname) или какой-либо код ниже этого.

Полный код ошибки

Traceback (most recent call last):
File "C:/Users/client.py", line 135, in <module>
main()
File "C:/Users/cleint.py", line 41, in main
my_socket.connect((urlRssname, server_port))
socket.gaierror: [Errno 11001] getaddrinfo failed
...