2

我正在尝试访问 .NET WebService,但授权标头有问题。我有一个用于授权的用户名和密码,但我的密码有点长,所以我无法发送。当我尝试一半作为密码时,我可以发送它。我的第一个问题是,如何将此密码发送到服务器?

String auth = "1234567890:123430A6F987AEED954215FFA84254FAD92ACD54"; 
String encodedAuth = org.kobjects.base64.Base64.encode(auth.getBytes());
//byte[] encodedAuth = android.util.Base64.encode( auth.getBytes(), Base64.NO_WRAP);
String authHeader = "Basic " + encodedAuth ;
headerPropertyList.add(new HeaderProperty("Authorization", authHeader));

我尝试的另一种方法是使用以下方法作为字节数组发送:

byte[] encodedAuth = android.util.Base64.encode( auth.getBytes(), Base64.NO_WRAP); 

但是byte在 Java 中签名并在 C# 中未签名,因此创建了不同的值。我也找不到这种情况的解决方案。任何帮助将不胜感激。

4

1 回答 1

3

为了解决这个问题,我使用了 Apache Common Codec,而不是使用 Android 自己的 base64 编码。Apache 通用编解码器

于 2013-05-09T11:46:22.730 回答