아래의 소스를 보시면 제가 http://www.fxware.com/forex-currency/convert-forex.asp URL에
httpParams.setParameter("a", "1");
httpParams.setParameter("f", "USD");
httpParams.setParameter("t", "KRW");
httpParams.setParameter("l", "ko");
httpParams.setParameter("d", "p");
데이터를 post할려고 하는데요. 우선 첫째로 해당 URL로 5개의 데이터가 POST가 안됩니다.
그리고 , 응답받은 데이터를 browser.loadData()로 뿌려줄려고 하는데요. 이것도 안되네요.
이거 왜 그런지 잘 모르겠습니다. 고수분들의 자세한 답변을 부탁드릴게요~
해결방법을 꼭 아르켜 주셨음 합니다. 감사합니다.^^~
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
package com.my.WebToon;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebView;
import android.widget.Toast;
public class WebToon extends Activity {
/** Called when the activity is first created. */
WebView browser;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
browser = (WebView)findViewById(R.id.webkit);
StringBuilder sb = new StringBuilder();
HttpParams httpParams = new BasicHttpParams();
httpParams.setParameter("a", "1");
httpParams.setParameter("f", "USD");
httpParams.setParameter("t", "KRW");
httpParams.setParameter("l", "ko");
httpParams.setParameter("d", "p");
HttpPost httpPost = new HttpPost("http://www.fxware.com/forex-currency/convert-forex.asp");
httpPost.setParams(httpParams);
HttpClient httpClient = new DefaultHttpClient(httpParams);
try{
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));
while(true){
String res = reader.readLine();
Log.i("WEB", res);
sb.append(res);
if(res.equals("</html>"))
{
Toast.makeText(this, sb.toString() , Toast.LENGTH_LONG).show();
browser.loadData(sb.toString(), "text/html", "utf-8");
break;
}
}
}catch (Exception e) {}
}
}
다음 코드를 참조하시기 바랍니다.
public static HttpResponse requestPost(String url, Map<String, String> params) throws ClientProtocolException, IOException {
HttpClient client = new DefaultHttpClient();
HttpPost request = new HttpPost(url);
List<NameValuePair> paramList = new ArrayList<NameValuePair>();
for (Map.Entry<String, String> entry: params.entrySet())
paramList.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
request.setEntity(new UrlEncodedFormEntity(paramList));
request.addHeader("Connection", "close");
return client.execute(request);
}