Alternative to gethostbyname

℡╲_俬逩灬. 提交于 2020-01-02 03:46:08
问题 I can't use gethostbyname to grab a host's IP address, it is a deprecated function that only works 10% of the fricken' time on Windows! I can't find any adequate resources on other ways to find a host's IP address using other functions (MSDN recommended getaddrinfo but that doesn't seem like what I want.) 回答1: Actually, getaddrinfo is what you want. It's just a long-winded way to do it, not to mention the fact that sometimes multiple IP addresses are found (e.g. one IPv4 address and one IPv6

gethostbyname xcode issues

风格不统一 提交于 2019-12-31 05:19:47
问题 Hey guys, I'm new at this stuff, but I'm trying to use gethostname() to work using xcode and the ipad. I've tried a couple of things, but they all seem to freeze up. So when I just do: host = gethostbyname(""); that works fine. I'd like to be able to change the website from within the program though. I've tried: const char *server = [Website_NSString UTF8String]; host = gethostbyname(server); const char *server = [Website_NSString cStringUsingEncoding:NSASCIIStringEncoding]; host =

Traceback (most recent call last): File “”, line 1, in AttributeError: module 'socket' has no attribute 'close'

烂漫一生 提交于 2019-12-24 19:48:01
问题 I need to write a program that retrieves the IP addresses of a list of domain names. The simple example can be shown here: >>> import socket >>> socket.gethostbyname('') '' >>> socket.close() After I try to close the socket, I get this error: Traceback (most recent call last): File "", line 1, in AttributeError: module 'socket' has no attribute 'close' How can I close this socket? I need to close it because my actual program has loop where in each domain name in the

Perl Host to Ip Resolution

为君一笑 提交于 2019-12-11 04:46:54
问题 I am wanting to resolve a host name to an ip address which is all fine using Socket with the following: $ip = gethostbyname($host) or die "Can't resolve ip for $host.\n"; $ip = inet_ntoa(inet_aton($host)); This works fine until it hits a host name that no longer resolves to an IP and the code just stops. How can I get my script to continue processing the remainder ip the host names to be resolved. Ideally I would simply set the $ip variable to equal "" . I have tried even without the die

process-local override of name resolution?

喜欢而已 提交于 2019-12-11 01:59:29
问题 I have test code that I want to have a couple of hostnames resolve to the loopback while testing. When deployed, this code will use the normal system name resolution as appropriate. Test and deployment host are recent linux distros (SLES11SP1, e.g.). I'd like to override hostname resolution for a single process, without being superuser. Is there a way to manipulate the nsswitch / hosts behavior in such a narrow fashion? Yes, of course I could override the hostnames themselves, but I prefer

gethostbyname dual network interfaces, select which one to use

旧时模样 提交于 2019-12-10 18:56:27
问题 I have a c-program that needs to connect to a server and send a tcp payload and wait for the response. This works well for normal use but since I have two different network interfaces, let us call them if0 and if1 on the computer running the program, sometimes one of the network interfaces are not able to forward the traffic. This is a fact that I cannot change unfortunately. To handle this gracefully since the OS cannot help me route the data to the correct interface, I send the payload

gethostbyname() processes resolving consistently even from different threads?

老子叫甜甜 提交于 2019-12-10 10:29:46
问题 I conducted an experiment with DNS resolving by gethostbyname() from different threads. I turned off network link and ran program below. And output was like this gethostbyname started at 1411234734 gethostbyname started at 1411234734 gethostbyname started at 1411234734 gethostbyname finished at 1411234774 gethostbyname finished at 1411234814 gethostbyname finished at 1411234854 gethostbyname() started at the same time, but finished one by one with 40 sec timeout. Then i experemented with

Asynchronous address resolution in winsock?

て烟熏妆下的殇ゞ 提交于 2019-12-09 18:16:49
问题 Looking into asynchronous address resolution in winsock it seems that the only two options are either to use the blocking gethostbyname on a seperate thread, or use WSAAsyncGetHostByName . The latter is designed for some reason to work with window messages, instead of overlapped operations and completion ports/routines. Is there any version of gethostbyname that works asynchronously with overlapped operations in a similiar manner to the rest of the winsock API? 回答1: Unfortunately there isn't

How to flush cache for socket.gethostbyname response?

陌路散爱 提交于 2019-12-09 17:23:25
问题 Anyone run into this before: After updating DNS records..I do a dig for '' I get, however when I do a socket.gethostbyname('') I get I'm guessing socket is still using do I clear it ? or flush it? My code is very simple: Linux Termianl dig Python: import socket socket.gethostbyname('') It should be returning the address as that is the updated one in DNS. 回答1:

Domain name to IPv6 address in Perl

我与影子孤独终老i 提交于 2019-12-08 07:39:32
问题 I have the following Perl code to translate domain name to IP address. It works fine in IPv4. $host = ""; $ip_address = join('.', unpack('C4',(gethostbyname($host))[4])); However, it does not work if it is an IPv6 only domain name such as "". How can I get one line of code (prefer CORE library) to get IPv6 IP address? $host = ""; $ip_address = ??? 回答1: In 5.14 and above, you can use the core Socket: use 5.014; use warnings; use Socket (); # protocol