简体   繁体   中英

android XML send and get receive via HTTP post

first I'm trying to be able to send a HttpResponse with parameters such as:

http://www.syslang.com/frengly/controller?action=translateREST&src=en&dest=iw&text=good&email=YYY&password=XXX

the code looks something like this:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://www.syslang.com/frengly/controller");   
List<NameValuePair> pairs = new ArrayList<NameValuePair>();  
pairs.add(new BasicNameValuePair("src", "en")); 
pairs.add(new BasicNameValuePair("dest", "iw"));  
pairs.add(new BasicNameValuePair("text", "good"));                  
pairs.add(new BasicNameValuePair("email", "YYY")); 
pairs.add(new BasicNameValuePair("password", "XXX"));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(pairs,HTTP.UTF_8);  
httpPost.setEntity(entity);  
HttpResponse response = httpClient.execute(httpPost); 
HttpEntity httpEntity = response.getEntity();

the API structure is available at http://www.frengly.com/ (under the API tab) and has a total of 5 parameters (src, dest, text, email, password).

so far every time I tried to call

HttpResponse response = httpClient.execute(httpPost); I keep getting an IO Exception :(

After that I should get something like this structure:

-<root>
  <text>good</text>
  <translation>טוב</translation>
  <translationFramed>טוב|</translationFramed>
  <missing/>
  <existing>good,</existing>
  <stat>1/1</stat>
</root>

I think I'll handle this part to build XML and parse it as I need

ps: I checked Android, send and receive XML via HTTP POST method and many other links, which didn't help me a lot.

let me know if any code lines from my application needed...

Thanks in advance.

You don't need to POST. You need to GET instead.

// Construct your request here.
String requestURL= "http://www.syslang.com/frengly/controller?action=translateREST&src=en&dest=iw&text=good&email=YYY&password=XXX"

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(requestURL);
HttpResponse response = httpClient.execute(httpGet);

And also internet permission in your AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET"/>
<application
....
....

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM