首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gaierror:[Errno 8] nodename或servname未提供,或未知

gaierror:[Errno 8] nodename或servname未提供,或未知
EN

Stack Overflow用户
提问于 2016-07-26 14:56:32
回答 2查看 4.2K关注 0票数 0

你好,我是python的新手,我正在写一个生成dns请求的代码

代码语言:javascript
复制
    from socket import error as socket_error
    import threading
    from random import randint
    from time import sleep

    def task(number):
       try :
          HOST = Random_website.random_website().rstrip() # fetches url
          PORT = 80              # The same port as used by the server
          s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

          s.connect((HOST, PORT))
          print(str(number) +":"+HOST +"Connected")
       except socket_error as serr:
         if serr.errno != errno.ECONNREFUSED:
           # Not the error we are looking for, re-raise
            raise serr      

  thread_list = []

  for i in range(1, 100):    
    t = threading.Thread(target=task, args=(i,))
    thread_list.append(t)

  for thread in thread_list:
      thread.start()

执行上面的代码会抛出这个错误,有没有人能帮我摆脱这个问题?我从一天开始就把头发拉出来了。

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2016-07-26 15:41:55

这样的

代码语言:javascript
复制
Python 2.7.6 (default, Jun 22 2015, 17:58:13) 
[GCC 4.8.2] on linux2
Type "copyright", "credits" or "license()" for more information.
>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> s.connect(("www.google.com",80))
>>> s.connect(("http://www.google.com",80))

Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    s.connect(("http://www.google.com",80))
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
gaierror: [Errno -2] Name or service not known
>>> 

套接字不是 HTTP 连接!

发送请求前删除 HTTP:// 标签!

编辑:

代码语言:javascript
复制
>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> s.connect(("digan.net",80))
>>> s.connect(("digan.net/hahaha/hihihi/etc",80))

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    s.connect(("digan.net/hahaha/hihihi/etc",80))
  File "/usr/lib/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
gaierror: [Errno -2] Name or service not known
>>> 

套接字无法将请求发送到其他路径。仅与服务器通信!

票数 2
EN

Stack Overflow用户

发布于 2017-03-09 21:42:21

当一个web代理是"on“时,我得到了同样的错误信息,但是url指向了本地网络中的一台机器,没有代理就可以访问它。将web-proxy (http)设置为"off“为我解决了这个问题。

希望这能帮到你,亚历克斯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38582990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档