我想将Swift代码转换为Android应用程序的Java代码。我尝试使用“ HttpsURLConnection”,但是它不起作用。
我不确定是否应该使用“ HttpsURLConnection方法”还是应该使用其他方法。
HttpsURLConnection失败。
responseCode: 500 (HttpsURLConnection.getResponseCode())
message2: Bad Request (HttpsURLConnection.getResponseMessage())
如何解决500错误请求错误?
URL url = new URL("https://***test.herokuapp.com/payment.php");
HashMap<String, Object> params = new HashMap<>();
params.put("stripeToken", token);
params.put("amount", 1500);
params.put("currency", "jpy");
params.put("description", "anyone");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("POST");
int responseCode = conn.getResponseCode(); // responseCode: 500
if (responseCode == HttpsURLConnection.HTTP_OK) {
Log.d("Success", String.valueOf(responseCode));
} else {
String code = String.valueOf(responseCode);
String message2 = conn.getResponseMessage(); // message2: Bad Request
}
在Swift中(有效)
let url = "https://***test.herokuapp.com/payment.php"
let params: [String : Any] = [
"stripeToken" : token,
"amount" : totalAmount,
"currency" : "jpy",
"description" : "anyone",
]
let manager = AFHTTPSessionManager().post(url, parameters: params, success: { (operation, responseObject) in
if let response = responseObject as? [String: String] {
print(response["status"]! + "________" + response["message"]!)
ProgressHUD.showSuccess("payment success!!")
}
}) { (operation, error) in
if error != nil {
print("errorMessage \(error.localizedDescription)")
ProgressHUD.showError(error.localizedDescription)
return;
}
}
答案 0 :(得分:0)
谢谢您的建议。 我使用“排球”,并且有效。
final String urlStr = "https://****.php";
StringRequest stringRequest = new StringRequest(Request.Method.POST, urlStr,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(StripeActivity.this,"SuccessToken",Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("VolleyErrorHere", error.toString());
}
}
){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put("stripeToken", token.getId());
params.put("amount", "120");
params.put("currency", "jpy");
params.put("description", "anyone");
return params;
}
}; // end of string Request