嗨我正在使用HttpPost
和HttpRequest
连接到服务器并获得结果。我得到结果作为字符串,并试图将其转换为byte[]
。但是当我这样做时,我得到的结果是String
和byte[]
是不同的。我该如何解决这个问题? 这里是我使用的代码:Android HttpRequest问题
public class TestProjectActivity extends Activity {
Button cancel,login;
HttpClient httpclient;
HttpPost httppost;
ArrayList<NameValuePair> postParameters;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
httpclient = new DefaultHttpClient();
httppost = new HttpPost("http://www.rpc.example.com");
postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("username_hash", "c34a6cf6bff9f6b61e96fdf4bf360157d522a17c"));
postParameters.add(new BasicNameValuePair("password_hash", "56dc55f0062cf21797637b0f8652293023f2ef22"));
cancel = (Button) findViewById(R.id.cancel_login_btn);
cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
login = (Button) findViewById(R.id.login_btn);
login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
httppost.setEntity(new UrlEncodedFormEntity(postParameters));
HttpResponse response = httpclient.execute(httppost);
String responseBody = EntityUtils.toString(response.getEntity()); //response
byte[] b = responseBody.getBytes();
Log.e("Packet","Response packet : "+b); //print packet
Log.e("Packet","Response packet : "+responseBody); //print packet
} catch (Exception e) {
e.printStackTrace();
Log.d("ERROR"," Error lol - "+e);
}
}
});
}
}
结果作为字符串是:Response packet : 00000000000000000000000000000001002001ec8ce6abb3e952a85b8551ba726a122700000000000000000000000000000002000000000000000000000000000001162c1c0624f7a2b272e05c4d997473a8e6001eyJsb2NhbGUiOiJlbl9VUyIsImlkIjoyLCJlcnJvcl9jb2RlIjo2MDAzLCJlcnJvcl9zdHJpbmciOiJVbnN1cHBvcnRlZCBDbGllbnQgVmVyc2lvbiJ9
结果为字节[]是:Response packet : [[email protected]
字节不是字符串,字符串不是字节,所以两者不能相同 – ingsaurabh