DefaultHttpClient和AndroidHttpClient都不会像user:password @那样摘要网址...而是需要使用B64编码才能将您的凭据传输到apache服务器 .
要做到这一点,试试这个
public String getB64Auth (String login, String pass) {
String source=login+":"+pass;
String auth="Basic "+android.util.Base64.encodeToString(source.getBytes(),android.util.Base64.URL_SAFE|Base64.NO_WRAP);
return auth;
}
然后必须将生成的字符串添加到您的HttpPost对象中
String auth = getB64Auth("username","password");
HttpPost postRequest = new HttpPost(URL);
postRequest.addHeader("Authorization",auth);
你还需要接受服务器端数据的东西(如php脚本) . 我怀疑“uploaded.txt”是否这样做......这个脚本还负责处理,命名和保存接收的文件 . 例如,您可以使用添加到MultiPartEntity的StringBody来传递用于在服务器端保存文件的名称 .