加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

访问webservice获取手机号码归属地

发布时间:2020-12-16 23:39:36 所属栏目:安全 来源:网络整理
导读:??? http://www.webxml.com.cn 网站上提供了一些WebService服务,我们可以对其进行调用 package cs.utils;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;public class StreamTools {public static byte[] re


??? http://www.webxml.com.cn 网站上提供了一些WebService服务,我们可以对其进行调用


package cs.utils;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class StreamTools {
	
	public static byte[] read(InputStream inStream) throws IOException{
		ByteArrayOutputStream outStream = new ByteArrayOutputStream();
		byte [] buffer = new byte[1024];
		int len = 0;
		while((len=inStream.read(buffer))!=-1){
			outStream.write(buffer);
		}
		inStream.close();
		outStream.close();
		
		return outStream.toByteArray();
	}
}

package cs.service;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.util.Xml;
import cs.utils.StreamTools;

public class QueryService {

	public String query(String num) throws IOException,XmlPullParserException{
		InputStream in = QueryService.class.getClassLoader().getResourceAsStream("template.xml");
		String data = new String(StreamTools.read(in));
		in.close();
		data = data.replace("phoneNum",num);
		
		URL url = new URL("http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx");
		HttpURLConnection conn = (HttpURLConnection) url.openConnection();
		conn.setConnectTimeout(3000);
		conn.setRequestMethod("POST");
		
		conn.setRequestProperty("HOST","webservice.webxml.com.cn");
		conn.setRequestProperty("Content-Type","application/soap+xml; charset=utf-8");
		conn.setRequestProperty("Content-Length",data.getBytes().length+"");
		conn.setDoOutput(true);
		conn.getOutputStream().write(data.getBytes());
		
		int code = conn.getResponseCode();
		if(code == 200){
			return paresAddaress(conn.getInputStream());
		}
		return null;
	}

	private String paresAddaress(InputStream inputStream) throws XmlPullParserException,IOException {
		XmlPullParser parser = Xml.newPullParser();
		parser.setInput(inputStream,"UTF-8");
		for(int type = parser.getEventType(); type !=XmlPullParser.END_DOCUMENT; type=parser.next()){
			if(type == XmlPullParser.START_TAG && parser.getName().equals("getMobileCodeInfoResult")){
				return parser.nextText();
			}
		}
		return null;
	}
}

package com.example.phonenumber;

import java.io.IOException;

import org.xmlpull.v1.XmlPullParserException;
import cs.service.QueryService;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

	private EditText number;
	private TextView show;
	
	@SuppressLint("NewApi")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		if(android.os.Build.VERSION.SDK_INT>9){
			StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
			StrictMode.setThreadPolicy(policy);
		}
		number = (EditText) findViewById(R.id.numberphone);
		show = (TextView) findViewById(R.id.show);
		
	}
	public void query(View v){
		switch (v.getId()) {
		case R.id.ok:
            QueryService qs = new QueryService();
            String address = null;
            String numberphone = number.getText().toString().trim();
            try {
				address = qs.query(numberphone);
				show.setText(address);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				Toast.makeText(getApplicationContext(),"出错了",1).show();
				e.printStackTrace();
			}
			break;

		default:
			break;
		}
	}



}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读