⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 httpclient.java

📁 呼叫中心自助语声音
💻 JAVA
字号:
package com.bean;/** *   HttpClient.java */import java.io.*;import java.net.*;import java.util.*;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class HttpClient {	public final static String CRLF = "\r\n";	public HttpClient() {	}	public String doGet(String urlString) {		int nCount = 0;		String strData = "";		try {			// TraceLog.info("doGet(): URL >>>"+urlString+"<<<");			URL url = new URL(urlString);			String protocol = url.getProtocol();			if (!protocol.equals("http"))				throw new IllegalArgumentException("Must use 'http:' protocol");			String host = url.getHost();			// TraceLog.info("host: "+host);			int port = url.getPort();			if (port == -1)				port = 80;			// TraceLog.info("port: "+port);			String filename = url.getFile();			// TraceLog.info("file: "+filename);			Socket socket = new Socket(host, port);			InputStream from_server = socket.getInputStream();			BufferedReader br = new BufferedReader(new InputStreamReader(from_server));			PrintWriter to_server = new PrintWriter(socket.getOutputStream());			to_server.print("GET " + filename + " HTTP/1.0" + CRLF);			to_server.print(CRLF);			to_server.flush();			char[] buffer = new char[102400];			int bytes_read;			int nContentLength = 0;			while (true) {				String strTemp = br.readLine();				if (strTemp.equals(CRLF) || strTemp.equals("")) {					int rc = br.read(buffer, 0, nContentLength);					String strBuff = new String(buffer, 0, nContentLength);					strData += strBuff;					break;				} else {					StringTokenizer s = new StringTokenizer(strTemp);					String temp = s.nextToken();					if (temp.equalsIgnoreCase("Content-Length:")) {						String contentLength = s.nextToken();						nContentLength = Integer.parseInt(contentLength);					}				}			}			socket.close();		} catch (Exception e) {			// TraceLog.info("doGet() Exception: " + getStackTrace(e) );			return null;		}		return strData;	}	public String doPost(String urlString, String postData) {		String strData = "";		try {			// TraceLog.info(">>>"+postData+"<<<");			URL url = new URL(urlString);			String protocol = url.getProtocol();			if (!protocol.equals("http"))				throw new IllegalArgumentException("Must use 'http:' protocol");			String host = url.getHost();			// TraceLog.info("host: "+host);			int port = url.getPort();			if (port == -1)				port = 80;			// TraceLog.info("port: "+port);			String filename = url.getFile();			// TraceLog.info("file: "+filename);			Socket socket = new Socket(host, port);			InputStream from_server = socket.getInputStream();			BufferedReader br = new BufferedReader(new InputStreamReader(from_server));			PrintWriter to_server = new PrintWriter(socket.getOutputStream());			to_server.print("POST " + filename + " HTTP/1.0" + CRLF);			to_server.print("User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Win 9x 4.90)" + CRLF);			to_server.print("Host: " + socket.getInetAddress().getHostAddress() + CRLF);			to_server.print("Pragma: no-cache" + CRLF);			to_server.print("Accept: */*" + CRLF);			to_server.print("Content-Length: " + postData.length() + CRLF);			to_server.print("Content-Type: application/x-www-form-urlencoded" + CRLF);			to_server.print(CRLF);			to_server.print(postData);			to_server.print(CRLF);			to_server.flush();			char[] buffer = new char[102400];			int bytes_read;			int nContentLength = 0;			while (true) {				String strTemp = br.readLine();				if (strTemp.equals(CRLF) || strTemp.equals("")) {					int rc = br.read(buffer, 0, nContentLength);					String strBuff = new String(buffer, 0, nContentLength);					strData += strBuff;					break;				} else {					StringTokenizer s = new StringTokenizer(strTemp);					String temp = s.nextToken();					if (temp.equalsIgnoreCase("Content-Length:")) {						String contentLength = s.nextToken();						nContentLength = Integer.parseInt(contentLength);					}				}			}			socket.close();		} catch (Exception e) {			// TraceLog.info("doPost() Exception: "+ getStackTrace(e) );			return null;		}		return strData;	}	public String getStackTrace(Exception e) {		try {			StringWriter sw = new StringWriter();			PrintWriter pw = new PrintWriter(sw);			e.printStackTrace(pw);			return "\r\n----------Begin----------\r\n" + sw.toString() + "----------End------------\r\n";		} catch (Exception e2) {			return "error getStackTrace().";		}	}	/**	 * @Function Get a CableSoftXML object	 * @param url	 * @return	 */	public CableSoftXML getCSXML(String url) {		CableSoftXML csXML = null;		String resp = "";		resp = doGet(url);		if (resp != null || url == null) {			try {				Document doc = DocumentHelper.parseText(resp);				csXML = new CableSoftXML();				// Set the document.				csXML.gXMLDoc = doc;				csXML.setAGENT_ID("AGENT_ID");				csXML.setEXT("EXT");				csXML.setPORT("PORT");				csXML.setRecURL("RecURL");				csXML.setInTel("InTel");				csXML.setObTel("ObTel");				csXML.setCustID("CustID");				csXML.setCMD("CMD");				csXML.setCMD_Value("CMD_Value");				csXML.setS_EXT("S-EXT");				csXML.setD_EXT("D-EXT");				csXML.setCSID("CSID");				csXML.setSERVICETYPE("SERVICETYPE");				csXML.setSEQNO("SEQNO");				csXML.setEXTLOG("EXTLOG");				csXML.setPara1("Para1");				csXML.setPara2("Para2");				csXML.setPara3("Para3");				csXML.setCompany("Company");				csXML.setLanguage("Language");				csXML.setFunc("Func");				csXML.setHistory("History");				csXML.setTel("Tel");				csXML.setFloor("Floor");				csXML.setStatus("Status");				csXML.setAudio("Audio");				csXML.setPayment("Payment");				doc = null;			} catch (DocumentException e) {				// TODO Auto-generated catch block				e.printStackTrace();				return csXML;			}		} else {			csXML = null;		}		resp = null;		return csXML;	}	//Run demo	public void test() {		long counter = 0;		String url = "http://192.168.10.250:88/ivr/ivr.aspx";				CableSoftXML csXML = null;		while (true) {			try {				System.out.println("Start the " + counter + "th's Getting :" + url+"  >>>>>");				csXML = getCSXML(url);				if (csXML != null) {					Iterator iter = csXML.getAvaiElements().iterator();					System.out.println("receiving .....   <<<<<  ");					while (iter.hasNext()) {						String temp = iter.next().toString();						System.out.println(temp);					}				}				//Start clean when counter when met 100 times				if(counter % 100 == 0)				{					System.gc();				}				Thread.sleep(300);								csXML = null;								counter++;			} catch (InterruptedException e) {				// TODO Auto-generated catch block				e.printStackTrace();			}		}	}	// unit test	// ----------------------------------------------	/* *///	public static void main(String args[]) {//		HttpClient hc = new HttpClient();//		hc.test();//	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -