Android 正在从GET获取400的状态代码

Android 正在从GET获取400的状态代码,android,android-asynctask,get,Android,Android Asynctask,Get,我正在尝试从API中获取,但它返回400,我尝试放置我的本地IP并放置10.0.2.2,但他继续这样做,在事件日志中也显示了这一点:Emulator:无法翻译来宾DNS IP。从邮递员那里,我得到了正确的JSON,因此我认为问题不在API中 这是我做任何事情的地方 public void PendingTrajects(){ AsyncHttpClient client = new AsyncHttpClient(); String URL = "http:/

我正在尝试从API中获取,但它返回400,我尝试放置我的本地IP并放置10.0.2.2,但他继续这样做,在事件日志中也显示了这一点:Emulator:无法翻译来宾DNS IP。从邮递员那里,我得到了正确的JSON,因此我认为问题不在API中

这是我做任何事情的地方

    public void PendingTrajects(){


     AsyncHttpClient client = new AsyncHttpClient();
       String URL = "http://ip:port/api/trajectes";
       client.get(this, URL, new AsyncHttpResponseHandler() {

       @Override
       public void onStart() {
           Toast.makeText(PendingTrajectRecyclerView.this, "Carregant...", Toast.LENGTH_SHORT).show();
       }

       @Override
       public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
           JSONArray Usuaris = new JSONArray();
           JSONArray trajectes = new JSONArray();

           String Nom = null;

           String strResponseBody = new String(responseBody);

           try {
               //Usuari = new JSONArray(strResponseBody);
               trajectes = new JSONArray(strResponseBody);
           }catch (JSONException e){
               Toast.makeText(PendingTrajectRecyclerView.this, "Error a la connexió", Toast.LENGTH_SHORT).show();
           }

           try {
               for(int i = 0; i < trajectes.length(); i++){
                   JSONObject trajecte = trajectes.getJSONObject(i);
                   JSONArray realitzas = trajecte.getJSONArray("realitzas");
                   for(int j = 0; j < realitzas.length(); j++){
                       JSONObject realitza = realitzas.getJSONObject(j);
                       JSONObject usuari = realitza.getJSONObject("usuari");
                       Log.d("xd", ""+usuari.getString("name"));
                   }
               }
           }catch (JSONException e){
               Toast.makeText(PendingTrajectRecyclerView.this, "Error a la connexió", Toast.LENGTH_SHORT).show();
           }
       }

       @Override
       public void onFailure(int statusCode, cz.msebera.android.httpclient.Header[] headers, byte[] responseBody, Throwable error) {
           Toast.makeText(PendingTrajectRecyclerView.this, "Error a la connexió ONFailure", Toast.LENGTH_SHORT).show();
           Log.d("Error",""+statusCode);
       }

   });
public void PendingTrajects(){
AsyncHttpClient=新的AsyncHttpClient();
字符串URL=”http://ip:port/api/trajectes";
get(这个,URL,新的AsyncHttpResponseHandler(){
@凌驾
public void onStart(){
Toast.makeText(pendingtrajectrecyclererview.this,“Carregant…”,Toast.LENGTH_SHORT.show();
}
@凌驾
成功时的公共void(int statusCode,Header[]headers,byte[]responseBody){
JSONArray Usuaris=新的JSONArray();
JSONArray轨迹=新的JSONArray();
字符串Nom=null;
String strResponseBody=新字符串(responseBody);
试一试{
//Usuari=新的JSONArray(strResponseBody);
轨迹=新的JSONArray(strResponseBody);
}捕获(JSONException e){
Toast.makeText(PendingTrajectRecyclerView.this,“Error a la connexió”,Toast.LENGTH_SHORT.show();
}
试一试{
对于(int i=0;i

由于某些原因,服务器无法或将不会处理该请求 这被认为是客户端错误(例如,格式错误的请求 语法、无效请求消息帧或欺骗请求 路由)

你应该检查你的应用程序。检查你的参数。 在这里添加一个断点

 String URL = "http://ip:port/api/trajectes";

实际上,服务器无法理解请求,因为
无效语法

400=错误的请求
@IntelliJAmiya是的,我知道,但我尝试在方法onSuccess中没有代码,但仍然失败。首先,使用一些网络监控软件,例如o,尝试检查您的完整地址是否在浏览器中工作r.如果错误400仍然发生,您必须检查api。@NLCEDA,是的,我在浏览器和邮递员上试过,然后返回200@Llu我检查一下你的参数我也这么做了,看起来一切都很好。我很绝望,我不知道还有什么可以证明问题出在IP上,因为事件日志返回这样的消息:Emulator:CANNOT TRANSLATEst DNS ip,但本地ip返回0,10.0.2.2返回400,idk什么可以be@Lluís
10.0.2.2
是本地地址我发现的唯一解决方案是将api放入云中,但现在第二次尝试捕获不起作用,你知道可以解决什么吗?解决了,我没有很好地调用名称,谢谢你的帮助!