how to force python httplib library to use only A requests

依然范特西╮ 提交于 2019-11-29 08:40:43

The correct answer is:

http://docs.python.org/library/socket.html

The Python socket library is using the following:

socket.socket([family[, type[, proto]]]) Create a new socket using the given address family, socket type and protocol number. The address family should be AF_INET (the default), AF_INET6 or AF_UNIX. The socket type should be SOCK_STREAM (the default), SOCK_DGRAM or perhaps one of the other SOCK_ constants. The protocol number is usually zero and may be omitted in that case.

/* Supported address families. */
#define AF_UNSPEC       0
#define AF_INET         2       /* Internet IP Protocol         */
#define AF_INET6        10      /* IP version 6                 */

By default it is using 0 and if you call it with 2 it will query only for A records.

Remember caching the resolv results in your app IS A REALLY BAD IDEA. Never do it!

Amirshk

Look here: how-do-i-resolve-an-srv-record-in-python

Once you resolved the correct A ip, use it in your request, instead of the dns.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!