通常我习惯使用类来检查我的RestClient类中的服务器不同的代码响应,org.apache.http.HttpStatus如下例所示:
if (HttpStatus.SC_OK == restClient.getResponseCode()) {
//200 OK (HTTP/1.0 - RFC 1945)
return true;
} else if (HttpStatus.SC_BAD_GATEWAY == restClient.getResponseCode()){
//502 Bad Gateway (HTTP/1.0 - RFC 1945)
return false;
}
Run Code Online (Sandbox Code Playgroud)
但是根据官方文档,最近该类因API级别22而被弃用
此接口在API级别22中已弃用.请改用openConnection().请访问此网页了解更多详情.
但OpenConnection()对我来说使用方法没有任何意义.
我的问题是:有没有其他方法可以执行相同的功能而无需在应用程序中自行对所有代码响应进行硬编码?
提前致谢.
我正在使用volley检索无效网址的内容,即http://www.gigd32fdsu.com:这是我的测试代码:
// Instantiate the RequestQueue.
RequestQueue queue = Volley.newRequestQueue(this);
final String url = "http://www.gigd32fdsu.com";
// Request a string response from the provided URL.
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener() {
@Override
public void onResponse(Object response) {
// Display the first 500 characters of the response string.
mTextView.setText("Response is: " + response.toString().substring(0, 500));
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mTextView.setText("That didn't work! " + error.networkResponse.statusCode);
}
});
// Add the request to …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用一些遗留代码,并在使用凌空时遇到问题.
我试图找到我们的主站点的API,它适用于一个帐户,但不适用于另一个帐户.我正在尝试弄清楚请求URL /标题中的差异以及响应中的内容,但我似乎无法在排序代码中找到将其打印到日志中的方法.
我得到的错误是
com.android.volley.NoConnectionError: java.io.IOException: No authentication challenges found
Run Code Online (Sandbox Code Playgroud)
我已经读到这可能是由于401响应,但我真的不知道这意味着什么,或者至少如何证明/测试它.我真的很困惑,它适用于一个帐户而不是另一个帐户.
网址略有不同,一个是我们的英国网站,另一个是我们的AM,但除此之外没有区别.
谢谢
在我的Android应用程序中,我必须调用一个看起来像这样的Web服务
http://mywesite.com/demo/mob/getmenubycategory/1
Run Code Online (Sandbox Code Playgroud)
我正在使用截击发送请求但结果是VolleyError 401.我已经覆盖了getParams()添加标题的方法,但它无法正常工作.
这是我的代码.
RequestQueue requestQueue = volleySingleton.getRequestQueue();
requestQueue.add(new JsonObjectRequest(Request.Method.GET, url, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Log.e(TAG, "onResponse = \n " + response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "response error \n" + error.networkResponse.statusCode);
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
try {
Map<String, String> map = new HashMap<String, String>();
String key = "Authorization";
String encodedString = Base64.encodeToString(String.format("%s:%s", "USERNAME", "Password").getBytes(), Base64.NO_WRAP); …Run Code Online (Sandbox Code Playgroud)