안드로이드 개발 질문/답변
(글 수 45,052)
package com.ssu.ykj.booksearch;
import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Iterator;
import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient;
import net.htmlparser.jericho.Element; import net.htmlparser.jericho.HTMLElementName; import net.htmlparser.jericho.Source;
import android.R; import android.os.Handler; import android.os.Message; import android.util.Log; import android.widget.EditText;
public class BookParser {
private String key1;
ArrayList<BookData> data;
BookParser(String key){
this.key1=key;
}
public ArrayList<BookData> getBookData(final String info,final int count,final int start){
data=new ArrayList<BookData>();
int a = 1, b = 0;
b = a + 5;
// BookData item=null;
//
// String m_searchinfo="";
//
// try{
// m_searchinfo=URLEncoder.encode(info, "UTF8"); // 검색정보 인코딩
// } catch(UnsupportedEncodingException e1){
// e1.printStackTrace();
// }
// WebDriver driver = new HtmlUnitDriver();
// //driver.get("http://oasis.ssu.ac.kr/dlsearch/portal_api/openurl.asp?kind=total&searchmethod=kwrd&query=검색어");
// driver.get("http://oasis.ssu.ac.kr/DLSearch/DLSearch/TOTWSearchList_ListTable.asp?syskey=SYSTOT&sysdiv=TOT&searchmethod=KWRD&mainmenuno=008&strTableFormType=List&ViewType=%C5%EB%C7%D5&ViewQuery=[%C5%B0%BF%F6%B5%E5/%20%BC%AD%B8%ED:android]&searchquery=%28%5Bandroid%20%2CTOT00%2C2%2C1%2C3%5D%29AND%20NOT%20%5B1%2CTOT00%2C3%2C25%2C3%5D");
//
//
// ArrayList<WebElement> allElements = (ArrayList<WebElement>) driver.findElements(By.xpath("//<a href="\"javascript:handleLink"));
// for(WebElement el : allElements) {
// String text = el.getText();
// }
// try {
// URL url;
// InputStream html;
// url = new URL("http://oasis.ssu.ac.kr/DLSearch/DLSearch/TOTWSearchList_ListTable.asp?syskey=SYSTOT&sysdiv=TOT&searchmethod=KWRD&mainmenuno=008&strTableFormType=List&ViewType=%C5%EB%C7%D5&ViewQuery=[%C5%B0%BF%F6%B5%E5/%20%BC%AD%B8%ED:android]&searchquery=%28%5Bandroid%20%2CTOT00%2C2%2C1%2C3%5D%29AND%20NOT%20%5B1%2CTOT00%2C3%2C25%2C3%5D");
//
// Source source;
// html = url.openStream();
// source = new Source(new InputStreamReader(html, "euc-kr"));
// source.fullSequentialParse();
// ArrayList<Element> aList = (ArrayList<Element>) source.getAllElements(HTMLElementName.A);
// Iterator<Element> aIter = aList.iterator();
// while(aIter.hasNext()) {
// BookData bookItem = new BookData();
// Element e = aIter.next();
// bookItem.title = e.getContent().getTextExtractor().toString();
// data.add(bookItem);
//
// }
// } catch (UnsupportedEncodingException e1) {
// // TODO Auto-generated catch block
// Log.d("B", e1.getMessage());
// } catch (IOException e1) {
// // TODO Auto-generated catch block
// Log.d("B", e1.getMessage());
// }
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://oasis.ssu.ac.kr/DLSearch/DLSearch/TOTWSearchList_ListTable.asp?syskey=SYSTOT&sysdiv=TOT&searchmethod=KWRD&mainmenuno=008&strTableFormType=List&ViewType=%C5%EB%C7%D5&ViewQuery=[%C5%B0%BF%F6%B5%E5/%20%BC%AD%B8%ED:android]&searchquery=%28%5Bandroid%20%2CTOT00%2C2%2C1%2C3%5D%29AND%20NOT%20%5B1%2CTOT00%2C3%2C25%2C3%5D");
HttpResponse response;
try {
response = client.execute(request);
String html = "";
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null)
{
str.append(line);
}
in.close();
html = str.toString();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.i("NET", "Parsing...");
return data; } }
도서검색앱을 만들어 보고 있습니다.
파싱은 이해했는데요.
Ajax웹 서버측에서 어떻게 html소스 얻어 올 수 있는지가 궁금합니다?
에러는 없는데 책이름을 입력하면 멈추네요



