Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android org.apache.http.NoHttpResponseException:目标服务器未能响应 import org.apache.http.HttpEntity; 导入org.apache.http.HttpResponse; 导入org.apache.http.NameValuePair; 导入org.apache.http.client.ClientProtocolException; 导入org.apache.http.client.entity.UrlEncodedFormEntity; 导入org.apache.http.client.methods.HttpGet; 导入org.apache.http.client.methods.HttpPost; 导入org.apache.http.client.utils.URLEncodedUtils; 导入org.apache.http.impl.client.DefaultHttpClient; 导入org.apache.http.params.HttpProtocolParams; 公共类JSONParser{ 静态InputStream为空; 静态JSONObject jObj=null; 静态字符串json=“”; 私有最终字符串TAG=“ACCESS”; //建造师 公共JSONParser(){ } //函数从url获取json //通过使用HTTP POST或GET方法 公共JSONObject makeHttpRequest(字符串url、字符串方法、, 列表参数){ //发出HTTP请求 试一试{ //检查请求方法 if(方法等于(“POST”)){ //请求方法为POST //defaultHttpClient DefaultHttpClient httpClient=新的DefaultHttpClient(); HttpPost HttpPost=新的HttpPost(url); setEntity(新的UrlEncodedFormEntity(参数)); HttpResponse HttpResponse=httpClient.execute(httpPost); HttpEntity HttpEntity=httpResponse.getEntity(); is=httpEntity.getContent(); }else if(method.equals(“GET”)){ //请求方法是GET 日志e(标签“检查1”); DefaultHttpClient httpClient=新的DefaultHttpClient(); 日志e(标签“检查2”); HttpProtocolParams.setUseExpectContinue(httpClient.getParams(),false); 日志e(标签“检查3”); String paramString=URLEncodedUtils.format(params,“utf-8”); 日志e(标签“检查4”); url+=“?”+参数字符串; 日志e(标签“检查5”); HttpGet HttpGet=新的HttpGet(url); 日志e(标签“检查6”); HttpResponse HttpResponse=httpClient.execute(httpGet);//在此处获取异常 日志e(标签“检查7”); HttpEntity HttpEntity=httpResponse.getEntity(); 日志e(标签“检查8”); is=httpEntity.getContent(); 日志e(标签“检查9”); } } 捕获(不支持的编码异常e){ Log.e(标记“e1”+e.toString()); 返回null; } 捕获(客户端协议例外e){ Log.e(标记“e2”+e.toString()); 返回null; } 捕获(IOE异常){ Log.e(标记“e3”+e.toString());//发生此异常 返回null; } 试一试{ BufferedReader reader=新的BufferedReader(新的InputStreamReader( is,“iso-8859-1”),8); StringBuilder sb=新的StringBuilder(); 字符串行=null; 而((line=reader.readLine())!=null){ sb.追加(第+行“\n”); } is.close(); json=sb.toString(); }捕获(例外e){ Log.e(标记“e4”+“错误转换结果”+e.toString()); 返回null; } //尝试将字符串解析为JSON对象 试一试{ jObj=新的JSONObject(json); }捕获(JSONException e){ Log.e(标记“e5”+“错误解析数据”+e.toString()); 返回null; } //返回JSON字符串 返回jObj; } }_Android - Fatal编程技术网

Android org.apache.http.NoHttpResponseException:目标服务器未能响应 import org.apache.http.HttpEntity; 导入org.apache.http.HttpResponse; 导入org.apache.http.NameValuePair; 导入org.apache.http.client.ClientProtocolException; 导入org.apache.http.client.entity.UrlEncodedFormEntity; 导入org.apache.http.client.methods.HttpGet; 导入org.apache.http.client.methods.HttpPost; 导入org.apache.http.client.utils.URLEncodedUtils; 导入org.apache.http.impl.client.DefaultHttpClient; 导入org.apache.http.params.HttpProtocolParams; 公共类JSONParser{ 静态InputStream为空; 静态JSONObject jObj=null; 静态字符串json=“”; 私有最终字符串TAG=“ACCESS”; //建造师 公共JSONParser(){ } //函数从url获取json //通过使用HTTP POST或GET方法 公共JSONObject makeHttpRequest(字符串url、字符串方法、, 列表参数){ //发出HTTP请求 试一试{ //检查请求方法 if(方法等于(“POST”)){ //请求方法为POST //defaultHttpClient DefaultHttpClient httpClient=新的DefaultHttpClient(); HttpPost HttpPost=新的HttpPost(url); setEntity(新的UrlEncodedFormEntity(参数)); HttpResponse HttpResponse=httpClient.execute(httpPost); HttpEntity HttpEntity=httpResponse.getEntity(); is=httpEntity.getContent(); }else if(method.equals(“GET”)){ //请求方法是GET 日志e(标签“检查1”); DefaultHttpClient httpClient=新的DefaultHttpClient(); 日志e(标签“检查2”); HttpProtocolParams.setUseExpectContinue(httpClient.getParams(),false); 日志e(标签“检查3”); String paramString=URLEncodedUtils.format(params,“utf-8”); 日志e(标签“检查4”); url+=“?”+参数字符串; 日志e(标签“检查5”); HttpGet HttpGet=新的HttpGet(url); 日志e(标签“检查6”); HttpResponse HttpResponse=httpClient.execute(httpGet);//在此处获取异常 日志e(标签“检查7”); HttpEntity HttpEntity=httpResponse.getEntity(); 日志e(标签“检查8”); is=httpEntity.getContent(); 日志e(标签“检查9”); } } 捕获(不支持的编码异常e){ Log.e(标记“e1”+e.toString()); 返回null; } 捕获(客户端协议例外e){ Log.e(标记“e2”+e.toString()); 返回null; } 捕获(IOE异常){ Log.e(标记“e3”+e.toString());//发生此异常 返回null; } 试一试{ BufferedReader reader=新的BufferedReader(新的InputStreamReader( is,“iso-8859-1”),8); StringBuilder sb=新的StringBuilder(); 字符串行=null; 而((line=reader.readLine())!=null){ sb.追加(第+行“\n”); } is.close(); json=sb.toString(); }捕获(例外e){ Log.e(标记“e4”+“错误转换结果”+e.toString()); 返回null; } //尝试将字符串解析为JSON对象 试一试{ jObj=新的JSONObject(json); }捕获(JSONException e){ Log.e(标记“e5”+“错误解析数据”+e.toString()); 返回null; } //返回JSON字符串 返回jObj; } }

Android org.apache.http.NoHttpResponseException:目标服务器未能响应 import org.apache.http.HttpEntity; 导入org.apache.http.HttpResponse; 导入org.apache.http.NameValuePair; 导入org.apache.http.client.ClientProtocolException; 导入org.apache.http.client.entity.UrlEncodedFormEntity; 导入org.apache.http.client.methods.HttpGet; 导入org.apache.http.client.methods.HttpPost; 导入org.apache.http.client.utils.URLEncodedUtils; 导入org.apache.http.impl.client.DefaultHttpClient; 导入org.apache.http.params.HttpProtocolParams; 公共类JSONParser{ 静态InputStream为空; 静态JSONObject jObj=null; 静态字符串json=“”; 私有最终字符串TAG=“ACCESS”; //建造师 公共JSONParser(){ } //函数从url获取json //通过使用HTTP POST或GET方法 公共JSONObject makeHttpRequest(字符串url、字符串方法、, 列表参数){ //发出HTTP请求 试一试{ //检查请求方法 if(方法等于(“POST”)){ //请求方法为POST //defaultHttpClient DefaultHttpClient httpClient=新的DefaultHttpClient(); HttpPost HttpPost=新的HttpPost(url); setEntity(新的UrlEncodedFormEntity(参数)); HttpResponse HttpResponse=httpClient.execute(httpPost); HttpEntity HttpEntity=httpResponse.getEntity(); is=httpEntity.getContent(); }else if(method.equals(“GET”)){ //请求方法是GET 日志e(标签“检查1”); DefaultHttpClient httpClient=新的DefaultHttpClient(); 日志e(标签“检查2”); HttpProtocolParams.setUseExpectContinue(httpClient.getParams(),false); 日志e(标签“检查3”); String paramString=URLEncodedUtils.format(params,“utf-8”); 日志e(标签“检查4”); url+=“?”+参数字符串; 日志e(标签“检查5”); HttpGet HttpGet=新的HttpGet(url); 日志e(标签“检查6”); HttpResponse HttpResponse=httpClient.execute(httpGet);//在此处获取异常 日志e(标签“检查7”); HttpEntity HttpEntity=httpResponse.getEntity(); 日志e(标签“检查8”); is=httpEntity.getContent(); 日志e(标签“检查9”); } } 捕获(不支持的编码异常e){ Log.e(标记“e1”+e.toString()); 返回null; } 捕获(客户端协议例外e){ Log.e(标记“e2”+e.toString()); 返回null; } 捕获(IOE异常){ Log.e(标记“e3”+e.toString());//发生此异常 返回null; } 试一试{ BufferedReader reader=新的BufferedReader(新的InputStreamReader( is,“iso-8859-1”),8); StringBuilder sb=新的StringBuilder(); 字符串行=null; 而((line=reader.readLine())!=null){ sb.追加(第+行“\n”); } is.close(); json=sb.toString(); }捕获(例外e){ Log.e(标记“e4”+“错误转换结果”+e.toString()); 返回null; } //尝试将字符串解析为JSON对象 试一试{ jObj=新的JSONObject(json); }捕获(JSONException e){ Log.e(标记“e5”+“错误解析数据”+e.toString()); 返回null; } //返回JSON字符串 返回jObj; } },android,Android,当我使用上述类的对象jParser调用上述代码时,它会给出异常。 import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormE

当我使用上述类的对象jParser调用上述代码时,它会给出异常。

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpProtocolParams;

public class JSONParser {

    static InputStream is = null;
    static JSONObject jObj = null;
    static String json = "";
    private final String TAG = "ACCESS";

    // constructor
    public JSONParser() {

    }

    // function get json from url
    // by making HTTP POST or GET mehtod
    public JSONObject makeHttpRequest(String url, String method,
        List<NameValuePair> params) {

        // Making HTTP request
        try {

            // check for request method
            if(method.equals("POST")){
            // request method is POST
            // defaultHttpClient
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            httpPost.setEntity(new UrlEncodedFormEntity(params));

            HttpResponse httpResponse = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpResponse.getEntity();
            is = httpEntity.getContent();

        }else if(method.equals("GET")){
            // request method is GET
            Log.e(TAG, "check1");
            DefaultHttpClient httpClient = new DefaultHttpClient();
            Log.e(TAG, "check2");
            HttpProtocolParams.setUseExpectContinue(httpClient.getParams(), false);
            Log.e(TAG, "check3");
            String paramString = URLEncodedUtils.format(params, "utf-8");
            Log.e(TAG, "check4");
            url += "?" + paramString;
            Log.e(TAG, "check5");
            HttpGet httpGet = new HttpGet(url);
            Log.e(TAG, "check6");

            HttpResponse httpResponse = httpClient.execute(httpGet); //getting exception here
            Log.e(TAG, "check7");
            HttpEntity httpEntity = httpResponse.getEntity();
            Log.e(TAG, "check8");
            is = httpEntity.getContent();
            Log.e(TAG, "check9");
        }           

    }
    catch (UnsupportedEncodingException e) {

        Log.e(TAG, "e1"+e.toString());
        return null;
    }
    catch (ClientProtocolException e) {
        Log.e(TAG, "e2"+e.toString());
        return null;
    }
    catch (IOException e) {
        Log.e(TAG, "e3"+e.toString());//this exception occurs
        return null;
    }

    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        json = sb.toString();
    } catch (Exception e) {
        Log.e(TAG, "e4"+" Error converting result " + e.toString());
        return null;
    }

    // try parse the string to a JSON object
    try {
        jObj = new JSONObject(json);
    } catch (JSONException e) {
        Log.e(TAG, "e5"+" Error parsing data " + e.toString());
        return null;
    }

    // return JSON String
    return jObj;

  }
}
private final String GET\u ALL\u MODEL\u NAME=”http://10.0.0.2/android_connect/get_all_model_name.php";
List params=new ArrayList();
//从URL获取JSON字符串
JSONObject json=jParser.makeHttpRequest(获取所有模型名称,“获取”,参数);
我得到了一个例外。我的日志是

02-23 03:52:55.702:E/ACCESS(1603):检查1
02-23 03:52:55.732:E/访问(1603):检查2
02-23 03:52:55.732:E/访问(1603):检查3
02-23 03:52:55.742:E/ACCESS(1603):检查4
02-23 03:52:55.742:E/ACCESS(1603):检查5
02-23 03:52:55.792:E/ACCESS(1603):检查6
02-23 03:56:22.442:E/ACCESS(1603):e3org.apache.http.NoHttpResponseException:目标服务器未能响应


请帮忙,正如我在谷歌上搜索到的,但没有发现任何有用的东西。很明显,这不是路由器防火墙相关的问题,因为你在同一个网络下,所以只有几个可能性:

  • 服务器端IP上的端口上没有侦听内容
  • 服务器端有一个本地防火墙正在阻止该连接尝试

  • 您没有使用WIFI,因此您不在同一网络下
您应该确保可以以其他方式打开该服务,这将有助于您调试罪魁祸首所在。如果您已经这样做了,我建议您使用一些调试工具来跟踪TCP数据包(我也不知道您在目标计算机上使用的是哪种操作系统;如果是linux发行版,
tcpdump
可能会有所帮助)


所有这些都假设您在AndroidManifest.xml文件中拥有android.permission.INTERNET权限。

我有安装wamp的窗口7。关于wamp中设置的任何建议。当我从我的系统浏览器运行url时,它会工作并提供所需的输出。我在模拟器上运行我的应用程序您可能缺少目标IP地址,或者您的WAMP服务器无法侦听非本地主机地址。“您没有使用WIFI,所以您不在同一网络下…”我拔下电缆并解决了问题,谢谢你,nKn。请查看这篇文章,它对你有帮助。
private final String GET_ALL_MODEL_NAME = "http://10.0.0.2/android_connect/get_all_model_name.php";

List<NameValuePair> params = new ArrayList<NameValuePair>();

// getting JSON string from URL
JSONObject json = jParser.makeHttpRequest(GET_ALL_MODEL_NAME, "GET", params);