我正在尝试在Android浏览器中使用机器名打开我的localhost上托管的站点.当我在桌面浏览器上键入机器名称时,它会被解析,但在Android设备中我得到的网页不可用.服务器已配置为正确处理DNS,我们没有看到任何错误.请帮助.
谢谢
我有一个DNS脚本,允许用户通过在Windows命令提示符下键入网站名称来解析DNS名称.
我查看了有关DNS解析的几个指南,但我的脚本似乎无法将名称(www.google.com)或(google.com)解析为IP地址.
该脚本输出错误
Traceback (most recent call last):
File "C:\python\main_menu.py", line 37, in ?
execfile('C:\python\showdns.py')
File "C:\python\showdns.py", line 3, in ?
x = input ("\nPlease enter a domain name that you wish to translate: ")
File "<string>", line 0, in ?
NameError: name 'google' is not defined
Run Code Online (Sandbox Code Playgroud)
代码:
import socket
x = input ("\nPlease enter a domain name that you wish to translate: ")
print ("\n\nThe IP Address of the Domain Name is: "+socket.gethostbyname_ex(x))
x = raw_input("\nSelect enter to proceed …Run Code Online (Sandbox Code Playgroud) 如何执行反向DNS查找,即如何在Perl中将IP地址解析为其DNS主机名?
我正在寻找一个可靠的服务,拥有一个良好的托管服务提供商与域名数据库.我想一些私人托管的域名无法解析为明确的托管服务提供商(可能只是ISP).
我曾经使用过webhosting.info(他们的强大的whois和高级的whois),它曾经提供主机信息(不确定),但不再提供.我查看了domaintools.com,但在他们的工具中找不到类似的东西.
我想我可以在域上做反向IP并转到arin.net并获取组织名称.但是寻找可以进行批量查找的免费(或付费服务)或您推荐或使用的任何反向DNS工具.
我想用asio进行DNS反向查找(返回给定IP地址的主机名),但我无法弄清楚我需要哪些组件来实现这一点.Asio文献指的是ip::basic_resolver::resolve,但是endpoint_type需要一个,我不知道如何使用它.
有人可以发帖或参考一个例子吗?
编辑:
在Joachim Pileborg的帮助下,我完成了任务.需要的代码(Minumin没有错误处理):
#include <asio.hpp>
#include <string>
#include <iostream>
int main()
{
asio::ip::address_v4 ipa = asio::ip::address_v4::from_string("8.8.8.8");
asio::ip::tcp::endpoint ep;
ep.address(ipa);
asio::io_service io_service;
asio::ip::tcp::resolver resolver(io_service);
asio::ip::tcp::resolver::iterator destination = resolver.resolve(ep);
std::cout << destination->host_name() << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我需要将ipv6地址转换为其半字节格式,以便动态创建ptr记录.以下是我从维基百科获得的信息:
IPv6反向解析
IPv6地址的反向DNS查找使用特殊域ip6.arpa.IPv6地址在此域中显示为相反顺序的半字节序列,表示为子域的十六进制数字.例如,IPv6地址2001:db8 :: 567:89ab对应的指针域名为ba9.8.7.6.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.bd0.1.0.0.2 .ip6.arpa.
关于半字节我唯一能找到的就是包函数,http://www.php.net/pack.我在谷歌搜索问题的例子中找不到任何解决方案.
任何帮助是极大的赞赏.
我正在创建一个自定义的Android SyncAdapter,并在SDK示例"SampleSyncAdapter"之后遇到麻烦.- 我正在创造我的相当于xml/syncadapter.xml.这是我困惑的部分:
android:contentAuthority="com.android.contacts"
android:accountType="com.example.android.samplesync"
Run Code Online (Sandbox Code Playgroud)
AbstractThreadedSyncAdapter的文档指出:
在
android:contentAuthority和android:accountType属性指出哪些内容权威,哪些帐户类型此同步适配器提供.
文档是循环的,它没有说明这个名称没有告诉你.我的印象是,两者都将从我公司的名字开始,com.acme.但从那里我不知道.我怀疑字符串可以是任何东西,只要它们是全局唯一的,以免与可能在同一设备上的任何其他应用程序冲突.我认为这意味着我需要在我的代码中的其他地方使用这些确切的字符串.但是,我想知道,我需要这些字符串?!我试图grep for com.android.contacts和前面提到的文件是它唯一使用的地方,我可以找到.因此,contentAuthority通过查看示例无法判断如何使用它.
如果是这样,我可以将它们都放在字符串资源中并在需要时通过资源ID引用它们吗?这些属性究竟是什么以及它们是如何使用的?有没有更好的方法来确定我应该为这些和其他领域的应用程序选择什么值?
我试图通过SharpSSH连接到ftp,如下所示:
Sftp Connection = new Sftp(ftpAddress, FTPLogin, FTPPasword);
Connection.Connect();
Run Code Online (Sandbox Code Playgroud)
这导致了JSchException:
System.Net.Sockets.SocketException: The requested name is valid, but no data of the requested type was found
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostByName(String hostName)
at Tamir.SharpSsh.java.net.Socket..ctor(String host, Int32 port)
at Tamir.SharpSsh.jsch.Util.createSocket(String host, Int32 port, Int32 timeout)
Run Code Online (Sandbox Code Playgroud)
经过一番搜索,我尝试了这段代码:
IPHostEntry ip = Dns.GetHostEntry(ftpAddress);
Run Code Online (Sandbox Code Playgroud)
我得到了SocketException:{没有这样的主机是已知的}
现在一些背景 - 我能够通过主机名和IP地址(外部和内部)与Filezilla连接到ftpAdress.当我> ping ftp.mydomain.com时,
我得到> 10.5.165.15
但是在> ping -a 10.5.165.15
我得到> ftpnew.mydomain.com
如果我是对的,我会因DNS <> revDNS问题而被拒绝.
我的问题是 - 我能做些什么让我的sftp连接正常工作.
我们在沙盒 Java Applet 中遇到问题,因为 SecurityManager 执行反向 DNS 查找。见其他问题。
但潜在的问题是,反向 DNS 查找需要大约 4.5 秒(没有域结果)。问题不是丢失的结果(在这种情况下它返回 IP),只是它需要很长时间。
这个问题也与 SecurityManager 无关,它只会在那里成为一个问题,因为 Permissions 类在运行到这个时持有一个锁,因此冻结了许多其他线程 4.5(或更多)秒。
还有一些域没有域名结果(即返回 IP),不需要 4.5 秒。例如“staminus.net”。
SSCCE:
String host = "random.org";
// "random.org" - IP result, takes 4.5 seconds
// "cdn.knuddelscom.de" - IP result, takes 4.5 seconds
// "staminus.net" - IP result, fast
// "google.com" - domain result: fra15s11-in-f14.1e100.net, fast
InetAddress addr = Inet4Address.getByName(host);
for (int i = 0; i < 100; i++)
{
long start = System.currentTimeMillis();
String hostName …Run Code Online (Sandbox Code Playgroud)