我正在开发一个与我的drupal网站建立连接的应用程序。 以下是我正在尝试使用的代码:
public class SignIn extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
try {
HttpClient client = new DefaultHttpClient();
String postURL = "http://test2.icerge.com/testpoint/user";
HttpPost post = new HttpPost(postURL);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("account[name]", "Bob Kelso"));
params.add(new BasicNameValuePair("account[pass]", "awefulawefulman"));
params.add(new BasicNameValuePair("account[mail]", "bobkelso@sacredheart.org"));
UrlEncodedFormEntity ent = new UrlEncodedFormEntity(params,HTTP.UTF_8);
post.setEntity(ent);
HttpResponse responsePOST = client.execute(post);
HttpEntity resEntity = responsePOST.getEntity();
if (resEntity != null) {
Log.i("RESPONSE",EntityUtils.toString(resEntity));
}
} catch (Exception e) {
e.printStackTrace();
Log.i("ERROR",e.toString());
}
}
}
但是,我一直得到java.net.unknownhostexception
。我在清单文件中设置了INTERNET权限。
我应该提到这个问题不是在模拟器上发生,而是在真实设备上发生。 任何人都可以请帮助,并告诉我为什么这是故障?
答案 0 :(得分:1)
在Android模拟器上进行开发时,这是一个常见问题。停止(杀死)adb.exe和模拟器,它通常适用于我。
答案 1 :(得分:1)
401表示您需要正确进行身份验证:网站是否使用基于表单的登录或HTTP基本身份验证?如果它使用基本身份验证,则需要设置适当的授权标头。请参阅http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientAuthentication.java上的示例,了解如何执行Basic Auth。