标签: gethostbyname

编译一个静态二进制文件,编码函数gethostbyname

如何解析编译一个静态二进制文件,其代码包含一个函数gethostbyname,如果编译时没有像这样的警告:

警告:在静态链接的应用程序中使用'gethostbyname'需要在运行时从用于链接的glibc版本中获取共享库

我使用命令在ubuntu 12.04上编译:

$ gcc -static lookup.c -o lookup
Run Code Online (Sandbox Code Playgroud)

这是lookup.c的代码:

  /* lookup.c */

  #include <stdio.h>
  #include <unistd.h>
  #include <stdlib.h>
  #include <string.h>
  #include <errno.h>
  #include <sys/socket.h>
  #include <netinet/in.h>
  #include <arpa/inet.h>
  #include <netdb.h>

  extern int h_errno;

  int main(int argc,char **argv) {
     int x, x2;
     struct hostent *hp;

     for ( x=1; x<argc; ++x ) {
        hp = gethostbyname(argv[x]);
        if ( !hp ) {
           fprintf(stderr,
                   "%s: host '%s'\n",
                   hstrerror(h_errno),
                   argv[x]);
           continue;
        }

        printf("Host %s : \n" ,argv[x]);
        printf(" Officially:\t%s\n", hp->h_name);
        fputs(" Aliases:\t",stdout);
        for …
Run Code Online (Sandbox Code Playgroud)

c c++ linux gcc gethostbyname

19
推荐指数
2
解决办法
2万
查看次数

Python属性错误:类型对象'_socketobject'没有属性'gethostbyname'

我想在我的程序中这样做:

dest = socket.gethostbyname(host)
Run Code Online (Sandbox Code Playgroud)

我已经包括这条线:

from socket import * 
Run Code Online (Sandbox Code Playgroud)

在文件的开头.

我收到此错误:

AttributeError:类型对象'_socketobject'没有属性'gethostbyname'

我正在运行Vista 64bit.我的操作系统有问题吗?我拒绝了我的防火墙和一切.

python attributeerror gethostbyname

11
推荐指数
2
解决办法
3万
查看次数

C中的gethostbyname

我不知道如何用C编写应用程序,但我需要一个小程序:

lh = gethostbyname("localhost");
output = lh->h_name;
Run Code Online (Sandbox Code Playgroud)

输出变量将被打印.

以上代码用于PHP MongoDB数据库驱动程序以获取计算机的主机名(主机名是输入的一部分,用于生成唯一ID).我怀疑这将返回主机名,所以我想要一些证据.

任何代码示例都会非常有用.

愉快的一天.

c gethostbyname

11
推荐指数
2
解决办法
7万
查看次数

gethostbyname出了什么问题?

我使用此代码段时,我发现在http://www.kutukupret.com/2009/09/28/gethostbyname-vs-getaddrinfo/执行DNS查询

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main(int argc, char *argv[ ]) {
    struct hostent *h;

    /* error check the command line */
    if(argc != 2) {
        fprintf(stderr, "Usage: %s hostname\n", argv[0]);
        exit(1);
    }

    /* get the host info */
    if((h=gethostbyname(argv[1])) == NULL) {
        herror("gethostbyname(): ");
        exit(1);
    }
    else     
        printf("Hostname: %s\n", h->h_name);

    printf("IP Address: %s\n", inet_ntoa(*((struct in_addr *)h->h_addr)));     
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我面临着一个奇怪的事实

./test www.google.com
Hostname: www.l.google.com
IP …
Run Code Online (Sandbox Code Playgroud)

c linux gethostbyname

7
推荐指数
2
解决办法
2万
查看次数

如何刷新socket.gethostbyname响应的缓存?

任何人都遇到此事:

更新DNS记录后..我对'test.somedomain.com'进行挖掘,得到167.69.143.234,但是当我执行socket.gethostbyname('test.somedomain.com')时,我得到167.69.6.234.

我猜socket仍在使用缓存......我该如何清除它?还是冲洗它?

我的代码非常简单:

Linux Termianl

dig test.somedomain.com
Run Code Online (Sandbox Code Playgroud)

蟒蛇:

import socket
socket.gethostbyname('test.somedomain.com')
Run Code Online (Sandbox Code Playgroud)

它应该返回167.69.143.234地址,因为它是DNS中更新的地址.

python sockets dns caching gethostbyname

7
推荐指数
1
解决办法
9372
查看次数

GetHostEntry和GetHostByName之间的区别?

MSDN上,它提到GetHostByName已经过时了.替换是GetHostEntry.它们有什么区别?

c# dns gethostbyname

7
推荐指数
1
解决办法
9421
查看次数

winsock中的异步地址解析?

在winsock中查看异步地址解析似乎只有两个选项要么gethostbyname在单独的线程上使用阻塞,要么使用WSAAsyncGetHostByName.后者的设计是出于某种原因使用窗口消息,而不是重叠操作和完成端口/例程.

是否有任何版本的gethostbyname异步操作以与winsock API的其余部分类似的方式与重叠操作异步工作?

asynchronous winsock gethostbyname

6
推荐指数
1
解决办法
886
查看次数

替代gethostbyname

我不能gethostbyname用来获取主机的IP地址,这是一个不推荐使用的功能,只能在Windows上工作10%的时间!

我找不到任何足够的资源来寻找使用其他功能查找主机IP地址的其他方法(建议使用MSDN,getaddrinfo但这似乎不是我想要的.)

c++ windows gethostbyname

6
推荐指数
2
解决办法
1万
查看次数

nodejs无法解析Windows上的"localhost"

以下代码在windows下的node.js中生成异常:

var Socket = require("net").Socket;

socket = new Socket();
socket.connect(80, "localhost");
Run Code Online (Sandbox Code Playgroud)

这是消息:

    events.js:2083: Uncaught Error: getHostByName ENOTFOUND
Run Code Online (Sandbox Code Playgroud)

当我删除localhost,它工作正常.可能是什么导致了这个?我尝试关闭防火墙,但没有效果.

sockets windows localhost gethostbyname node.js

6
推荐指数
1
解决办法
3827
查看次数

PHP:gethostbyname错误

gethostbyname()用来获取应用程序中域的IP地址.

在某些情况下,也检查无效地址,如'50 .9.49'.

echo gethostbyname('50.9.49'); // returns 50.9.0.49
Run Code Online (Sandbox Code Playgroud)

在这种情况下gethostbyname应该返回false或未修改的无效IP地址.但是这些函数返回修改后的IP地址50.9.0.49.

看起来像PHP中的错误.快速解决方案似乎是检查无效的数字地址之前,还有其他建议吗?

php ip gethostbyname

6
推荐指数
1
解决办法
1162
查看次数

标签 统计

gethostbyname ×10

c ×3

c++ ×2

dns ×2

linux ×2

python ×2

sockets ×2

windows ×2

asynchronous ×1

attributeerror ×1

c# ×1

caching ×1

gcc ×1

ip ×1

localhost ×1

node.js ×1

php ×1

winsock ×1