java IP查询方法
老师给我们布置的作业如图用eclipse来做跪求帮助啊明天要交的摆脱各位大大了help...
老师给我们 布置的作业
如图 用eclipse 来做 跪求帮助啊
明天要交 的 摆脱各位大大了
help 展开
如图 用eclipse 来做 跪求帮助啊
明天要交 的 摆脱各位大大了
help 展开
4个回答
推荐于2018-04-13 · 知道合伙人互联网行家
关注
展开全部
Java编程查询IP地址归属地,可以调用淘宝提供的service查询,并且解析http请求返回的json串,代码如下:
package getAddressByIp;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import net.sf.json.JSONObject;
public class GetAddressByIp
{
/**
*
* @param IP
* @return
*/
public static String GetAddressByIp(String IP){
String resout = "";
try{
String str = getJsonContent("http://ip.taobao.com/service/getIpInfo.php?ip="+IP);
System.out.println(str);
JSONObject obj = JSONObject.fromObject(str);
JSONObject obj2 = (JSONObject) obj.get("data");
String code = (String) obj.get("code");
if(code.equals("0")){
resout = obj2.get("country")+"--" +obj2.get("area")+"--" +obj2.get("city")+"--" +obj2.get("isp");
}else{
resout = "IP地址有误";
}
}catch(Exception e){
e.printStackTrace();
resout = "获取IP地址异常:"+e.getMessage();
}
return resout;
}
public static String getJsonContent(String urlStr)
{
try
{// 获取HttpURLConnection连接对象
URL url = new URL(urlStr);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
// 设置连接属性
httpConn.setConnectTimeout(3000);
httpConn.setDoInput(true);
httpConn.setRequestMethod("GET");
// 获取相应码
int respCode = httpConn.getResponseCode();
if (respCode == 200)
{
return ConvertStream2Json(httpConn.getInputStream());
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return "";
}
private static String ConvertStream2Json(InputStream inputStream)
{
String jsonStr = "";
// ByteArrayOutputStream相当于内存输出流
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
// 将输入流转移到内存输出流中
try
{
while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
{
out.write(buffer, 0, len);
}
// 将内存流转换为字符串
jsonStr = new String(out.toByteArray());
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return jsonStr;
}
}
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
展开全部
public class NetTools {
public static String getLocalHostIP(){
String ip;
try{
InetAddress addr = InetAddress.getLocalHost();
ip = addr.getHostAddress();
}
catch(Exception ex){
ip = "";
}
return ip;
}
public static String getLocalHostName(){
String hostName;
try{
InetAddress addr = InetAddress.getLocalHost();
hostName = addr.getHostName();
}
catch(Exception ex){
hostName = "";
}
return hostName;
}
public static String[] getAllLocalHostIP(){
String[] ret = null;
try{
String hostName = getLocalHostName();
if(hostName.length()>0){
InetAddress[] addrs = InetAddress.getAllByName(hostName);
if(addrs.length>0){
ret = new String[addrs.length];
for(int i=0 ; i< addrs.length ; i++){
ret[i] = addrs[i].getHostAddress();
}
}
}
}
catch(Exception ex){
ret = null;
}
return ret;
}
public static String[] getAllHostIPByName(String hostName){
String[] ret = null;
try{
if(hostName.length()>0){
InetAddress[] addrs = InetAddress.getAllByName(hostName);
if(addrs.length>0){
ret = new String[addrs.length];
for(int i=0 ; i< addrs.length ; i++){
ret[i] = addrs[i].getHostAddress();
}
}
}
}
catch(Exception ex){
ret = null;
}
return ret;
}
public static void main(String[] args) {
//System.out.println(getLocalHostIP());
System.out.println("主机名:" + getLocalHostName());
String[] localIP = getAllLocalHostIP();
for(int i=0 ; i<localIP.length ; i++){
System.out.println( localIP[i]);
}
}
}
public static String getLocalHostIP(){
String ip;
try{
InetAddress addr = InetAddress.getLocalHost();
ip = addr.getHostAddress();
}
catch(Exception ex){
ip = "";
}
return ip;
}
public static String getLocalHostName(){
String hostName;
try{
InetAddress addr = InetAddress.getLocalHost();
hostName = addr.getHostName();
}
catch(Exception ex){
hostName = "";
}
return hostName;
}
public static String[] getAllLocalHostIP(){
String[] ret = null;
try{
String hostName = getLocalHostName();
if(hostName.length()>0){
InetAddress[] addrs = InetAddress.getAllByName(hostName);
if(addrs.length>0){
ret = new String[addrs.length];
for(int i=0 ; i< addrs.length ; i++){
ret[i] = addrs[i].getHostAddress();
}
}
}
}
catch(Exception ex){
ret = null;
}
return ret;
}
public static String[] getAllHostIPByName(String hostName){
String[] ret = null;
try{
if(hostName.length()>0){
InetAddress[] addrs = InetAddress.getAllByName(hostName);
if(addrs.length>0){
ret = new String[addrs.length];
for(int i=0 ; i< addrs.length ; i++){
ret[i] = addrs[i].getHostAddress();
}
}
}
}
catch(Exception ex){
ret = null;
}
return ret;
}
public static void main(String[] args) {
//System.out.println(getLocalHostIP());
System.out.println("主机名:" + getLocalHostName());
String[] localIP = getAllLocalHostIP();
for(int i=0 ; i<localIP.length ; i++){
System.out.println( localIP[i]);
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
调用request对象的getRemoteAddr方法可以获得客户请求中的ip地址。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如图? 图呢?
追问
图不会上 不过重新写了文字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询