日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从淘宝服务器IP地址服务获取IP地址信息的方法

發布時間:2024/1/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从淘宝服务器IP地址服务获取IP地址信息的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主要是json返回值的獲取

package com.xtisp.service.system;



import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;


import javax.annotation.Resource;


import net.sf.json.JSONObject;




import org.apache.commons.io.FileUtils;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.Header;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicHeader;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.apache.tomcat.jni.Global;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;


import com.xtisp.entity.system.IPDic;
import com.xtisp.solution.dao.DaoSupport;
import com.xtisp.util.PageData;



public class IPDicService {





public static void scheduleTask() {


System.out.println("定時處理IP地址");


try {


StringBuilder entityStringBuilder=new StringBuilder();
JSONObject resultJsonObject=null;
String getUrl = String.format("http://ip.taobao.com/service/getIpInfo.php?ip=%s", "47.90.33.254");?

CloseableHttpClient httpclient = HttpClients.createDefault();
RequestConfig requestConfig = RequestConfig.custom()
? ? ? ?.setSocketTimeout(1000)
? ? ? ?.setConnectTimeout(3000)
? ? ? ?.build();
HttpGet httpGet = new HttpGet(getUrl);
//httpGet.addHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
//httpGet.addHeader("Accept-Encoding","gzip, deflate, sdch");
//httpGet.addHeader("Accept-Language","zh-CN,zh;q=0.8");
//httpGet.addHeader("Cache-Control","no-cache");
//httpGet.addHeader("Host","ip.taobao.com");
//httpGet.addHeader("Pragma","no-cache");
//httpGet.addHeader("Proxy-Connection","keep-alive");
//httpGet.addHeader("Upgrade-Insecure-Requests","1");
//httpGet.addHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36name, value");


httpGet.setConfig(requestConfig);
System.out.println(getUrl);
CloseableHttpResponse getResponse = httpclient.execute(httpGet);
HttpEntity responseEntity = getResponse.getEntity();
BufferedReader bufferedReader=null;
System.out.println(getResponse.getStatusLine() ); ?


if (responseEntity != null) {

try {
bufferedReader=new BufferedReader(new InputStreamReader(responseEntity.getContent(), "UTF-8"), 8*1024);
? ?String line=null;
while ((line=bufferedReader.readLine())!=null) {
entityStringBuilder.append(line);
}
//利用從HttpEntity中得到的String生成JsonObject

} catch (Exception e) {
e.printStackTrace();
}

System.out.println(entityStringBuilder.toString());

resultJsonObject= JSONObject.fromObject(entityStringBuilder.toString());
//JSONObject jsonObject = JSONObject.fromObject(paramContent);?

System.out.println(resultJsonObject.getJSONObject("data").get("region"));
System.out.println(resultJsonObject.get("region"));

}




EntityUtils.consume(responseEntity);


}catch(Exception ex){
ex.printStackTrace();
}
System.out.println("處理IP地址");


}

public static void main(String[] args) {
scheduleTask();
//GetAddressByIp("47.90.33.254");
}



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;
? ?}
}

總結

以上是生活随笔為你收集整理的从淘宝服务器IP地址服务获取IP地址信息的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。