问题标签 [getaddrinfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 从 windows xp 中的 addrinfo 结构获取 ipv6 地址
如何从 windows xp 下的 addrinfo 结构中获取 ipv6 地址?除了 WSAAddressToString 之外还有其他可能性吗(有没有人成功使用过那个?)?
非常感谢你
python - getaddrinfo 11004 和 python 的 httplib
我正在尝试获取http://www.epicurious.com/recipes/food/reviews/Breaded-Chicken-Cutlets-aka-Grandma-Jodys-Chicken-51114400的渲染标记;理论上与 Firefox 中的“查看页面源代码”菜单选项给出的标记完全相同。
我正在使用 Python 2.7 脚本和httplib库(http://docs.python.org/2/library/httplib.html)。我创建了一个 HTTPConnection 对象,当我尝试通过 HTTPResponse 对象的函数获取标记时,不可避免地会收到getaddrinfo - 11004错误。此脚本已在 Windows 7 和 Ubuntu 环境中执行。
我读过的针对此错误的其他解决方案都不符合要求:我不在任何防火墙后面,而且我在 ping www.google.com 时没有问题。我想知道该网站是否不符合我不知道的某些标准,因为我无法成功 ping 我的目标网站。
我对其他方法持开放态度,如果有更好的方法,请告诉我。
c - getaddrinfo 使用 localhost 返回 2 个结果
我正在尝试将该功能getaddrinfo
与被动套接字/侦听器一起使用,而不是直接填充旧sockaddr
结构。我的目的是打开一个套接字并将其绑定到一个端口。本质上我正在构建一个服务器。
我不知道为什么但getaddrinfo
返回 2 个结果;因此,在第二次下面的循环中,我调用 bind 它退出时出现错误消息“地址已在使用中”。你知道如何解决这个问题,以及将它放在一个循环中是否正确?
ipv6 - getaddrinfo 用于 ipv6 链接本地
我试图将地址信息放入 structred addrinfo **result 。
但我收到以下代码错误
getaddrinfo 中的错误:不支持主机名的地址族
代码
我可以 ping 这个地址 $ping6 fe80::4e80:93ff:fe33:13ff%wlan0
这是 ifconfig 详细信息
这在我尝试 IPv4 时有效,但我需要获取 ipv6 的 getaddrinfo
c - getaddrinfo 删除最后一个字符
如果我像这样传入hint.ai_addr(忽略信息-> ...这是字符串的一部分):
...然后我打印出以下内容...
...信息打印正确。接下来我调用函数:
到目前为止,我没有收到任何错误。现在,我遍历链表:
...我只打印出一个元素:
...当然,这对 bind() 造成了严重破坏。为什么地址被缩短了?
还有一些奇怪的事情:如果我传入 127.0.0.1 并使用 AF_INET4 ,那么该地址会在整个程序中保持不变(但我只得到一个结果并且绑定仍然失败)。
有任何想法吗?提前致谢。
c - 在 C 中获取 HTTP 响应的大小
我正在构建一个模糊器(Web 应用程序安全工具),但在构建代理服务器时遇到了一些麻烦。下面是我的函数代码,该函数接收char*
http 消息,将 ascii 中的主机名转换为 IP 地址,然后与该主机建立连接,转发请求。然后它接收响应并将其发送回客户端。
我之前使用 Boost 库在 C++ 中完成了此操作,但我真的想控制我正在做的事情,所以我选择用 C 编写它。我面临的问题是我没有得到整个响应因此 http 请求的内容部分不会被发送回客户端。我必须制作多大的响应字符串才能处理任何长度的请求?有没有比仅仅将字符串大小设置得大得离谱更好的方法呢?
我做了一些研究,似乎使用getaddrinfo
是提出请求的方法,但我对它不是很熟悉。我也收到这个错误,上面写着:
我最初认为这是因为我没有为字符串上的空终止符腾出空间,但似乎这不是问题。
此外,如果您发现任何其他明显的错误或问题,请随时指出
c - getaddrinfo 与 localhost:静态链接或不在同一系统上时的不同行为
我有一个小的 c 程序,它基本上调用 getaddrinfo。根据 /etc/hosts localhost 可以解析为“127.0.0.1”和“::1”。
现在运行程序时,输出取决于我是否使用以下方法编译和链接:
我正在检查哪些系统调用已经完成,并且似乎在第一种情况下没有使用配置文件 /etc/gai.conf 。但是我不认为gai.conf很重要,因为它几乎是空的(除了很多评论。)事实上,如果我删除文件,我仍然能够正确解析(根据/etc/hosts)两个ips动态链接的程序。
另一方面,在这种情况下,静态链接是否意味着在链接时甚至对配置文件进行评估?
问题:为什么两个程序的输出不同?
测试.c:
ruby - 在多个线程中运行时出现“名称或服务未知 (SocketError)”错误
我制作了一个程序,可以并行解析文本文件和下载数据。在 9 个或更少线程中运行下载方法时,程序没有错误。但是当在 10 个或更多线程中运行该方法时,程序会抛出“`initialize': getaddrinfo: Name or service not known (SocketError)”错误。我尝试了一些算法并行运行,但出现了同样的问题。我将在发生“名称或服务未知”错误时传递给“打开”方法(open-uri)的 url 放入浏览器并确认该 url 有效并接收到正确的数据。这是部分代码。
错误是
为什么会这样?有没有人遇到过类似的问题?请帮我!
第一个问题后3小时,我找到了临时解决方案。如果我将“请求”方法中的“打开”方法与“开始~救援~重试~结束”夹在中间,则第二次“打开”调用时不会发生错误。这是代码。
捕获异常并显示 url 和“重试”后,将永远不会显示 url 和“重试”并且程序正常工作:) 但我仍然找不到导致此问题的原因。
c - 服务器-客户端套接字:freeaddrinfo(3) 放置
我必须在环回接口上测试这个被动 tcp 服务器。Ip 和端口由命令行给出并用getopt
. 然后它设置并绑定一个 TCP 套接字getaddrinfo(3)
并开始忙等待。
服务器:
服务器连接每次都是成功的。
客户:
我对 freeaddrinfo(3) 函数表示怀疑。将它放置在哪里可以安全地进行良好的堆管理?我将它放在套接字创建操作的末尾,并且在致命退出之前处于某种错误状态。我不确切知道 get 操作 malloc 额外空间的方式和内容。有人可以给我澄清一下吗?
sockets - 在 Socket UDP 上使用 Getaddrinfo() 和 SendTo() 失败 - 分段错误(核心转储)
在我开始使用 getaddrinfo() 检索动态 IP 地址后,我的套接字的 sendTo() 不再工作并返回错误“分段错误(核心转储)”。为什么会这样,请问我的代码中是否缺少任何初始化或内存分配?我已经尝试了一段时间,但还没有弄清楚原因。任何帮助将非常感激!
这是代码的一部分:
要向我的结构添加详细信息,并找出我的 malloc(sizeof(ECA_message_t) 出错的原因,请参阅下面的 struct ECA_message_t 代码:
这是中止(核心转储)回溯消息: