package com.ycl.api.HK;
|
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.http.HttpResponse;
|
import org.apache.http.auth.AuthScope;
|
import org.apache.http.auth.Credentials;
|
import org.apache.http.auth.UsernamePasswordCredentials;
|
import org.apache.http.client.methods.HttpGet;
|
import org.apache.http.impl.client.DefaultHttpClient;
|
import org.apache.http.util.EntityUtils;
|
import org.w3c.dom.Document;
|
import org.w3c.dom.Element;
|
import org.w3c.dom.Node;
|
import org.w3c.dom.NodeList;
|
import org.xml.sax.InputSource;
|
|
import javax.xml.parsers.DocumentBuilder;
|
import javax.xml.parsers.DocumentBuilderFactory;
|
import java.io.StringReader;
|
import java.net.URI;
|
|
@Slf4j
|
public class HKApi {
|
public static void getOsdByIP(String ip) {
|
DefaultHttpClient httpclient = new DefaultHttpClient();
|
String hostUrl = "http://" + ip;
|
// 获取焦距
|
String url = hostUrl + "/ISAPI/System/Video/inputs/channels/1/overlays";
|
URI serverURI = null;
|
try {
|
serverURI = new URI(url);
|
HttpGet httpGet = new HttpGet(url);
|
String username = "admin";
|
String password = "zg@2024dx";
|
Credentials creds = new UsernamePasswordCredentials(username,
|
password);
|
httpclient.getCredentialsProvider().
|
|
setCredentials(
|
new AuthScope(serverURI.getHost(), serverURI.
|
|
getPort()), (Credentials) creds);
|
|
HttpResponse response = httpclient.execute(httpGet);
|
|
String resultString = EntityUtils.toString(response.getEntity(), "utf-8");
|
log.info(resultString);
|
//解析xml
|
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
DocumentBuilder builder = factory.newDocumentBuilder();
|
Document document = builder.parse(new InputSource(new StringReader(resultString)));
|
document.getDocumentElement().normalize();
|
NodeList nodeList = document.getElementsByTagName("TextOverlay");
|
for (int i = 0; i < nodeList.getLength(); i++) {
|
Node node = nodeList.item(i);
|
if (node.getNodeType() == Node.ELEMENT_NODE) {
|
Element element = (Element) node;
|
log.info("TEXT : " + element.getElementsByTagName("displayText").item(0).getTextContent());
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|