我正在寻找一种方法来获取局域网上已知主机名的IP地址。
我的工作方式是执行网络扫描,扫描从< code>192.168.1.1到< code>192.168.1.255开始,因此我尝试了< code > inet address . get hostname()、< code > inet address . getcanonical address()但检索的是同一个IP地址。
我尝试过使用nslookup进行扫描。它在java编译器中运行得很好,但在android中是不可能的。。
我无法测试dnsjava库,因为在编译标题时出现错误:NoClassDefFoundError
,文件dnsjava-2.1.7.jar
被添加到libs目录。
有什么帮助吗*对不起我的英语。
我已经编写了一个有效的代码(至少出于我的目的)。
我已经对我的微控制器(ESP8266-NodeMCU)进行了编程,以写回带有JSON对象的HTML响应。
因此,我正在扫描我的网络,从<code>192.168.1.1向每个地址写入一个http请求。
注意事项:
>
SyncHttpClient
,因为我需要扫描大量地址。我尝试了AsyncHttpClient
,但它没有捕获响应。InetAddress.isReachable()
)方法来过滤地址,它不起作用,因为它总是返回false
。如果不向Request添加至少1个查询参数,我无法制作HttpRequest。
boolean found = false;
void getIPAddress() {
for (int i = 1; i < 255; i++) {
if (!found) {
String tryIP = subnet + String.valueOf(i);
Log.d(TAG, "Trying: " + tryIP);
final String finalIP = tryIP;
try {
SyncHttpClient client = new SyncHttpClient();
RequestParams params = new RequestParams();
params.put("check", "1");
client.get("http://" + finalIP , params, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
try {
JSONObject jo = response;
String key = jo.getString("controller");
Log.d(TAG, "Success : " + response + " and key is : " + key);
if (key.equals("esplight")) {
Log.d(TAG, "Found the ESP! Its IP is :" + finalIP);
found = true;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
Log.d(TAG, "trying to connect failed ");
}
});
} catch (Exception e) {
}
}
}
}
X1.0新增 sp_get_host() 功能: 返回带协议的域名 参数: 无 返回: 类型string 带协议的域名,如http://www.thinkcmf.com
我想通过IP地址获得远程机器/主机名。我找到了很多答案,如nslookup、host、resloveip等。但是我仍然无法从我的目标机器(中央操作系统,ubuntu等)获得主机名似乎需要注册到DNS服务器? 我有一台名为test的机器,使用IP 10.1.27.97 但是我用了上面的方法还是不能得到“测试” 有人能帮我得到主机名表单IP地址吗?
问题内容: 如何从Django模板中获取当前站点的域名?我试着寻找标签和过滤器,但那里什么也没有。 问题答案: 我认为你要访问的是请求上下文,请参阅RequestContext。
我必须取消此系统(附件如下)。我正在获取这个值,但是我不能在服务中,而不是在活动中,以编程方式取消它。 我的问题是: null
问题内容: 我认为ServletContext可能提供一种方法。ServletContext的getAttribute()方法是否提供任何帮助,即是否有需要帮助的属性名称(可能是“ host”,“ port”)。 这样做的原因是,我希望我的应用程序可以在任何部署的地方运行,而且在某一时刻,我必须允许用户单击指向文件服务器上某个位置的链接。因此,我需要按主机和端口进行引用,并且不能使用内部引用。 问
我试过了 但它给了我编译时错误 无法从静态上下文引用非静态方法“get(int)”。 我从observable的调用方法调用这个方法。 我还看到了但它已被弃用。