Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
Java Android发送参数服务器。创建请求_Java_Android_Http - Fatal编程技术网

Java Android发送参数服务器。创建请求

Java Android发送参数服务器。创建请求,java,android,http,Java,Android,Http,我想创建请求,并想将参数发送到服务器,例如两个字符串(hello,hello) 我在谷歌上搜索了一下,写了一些代码,但我有调试错误(我的问题是URL) 我想在这个url中发送两个字符串http://*//**.aspx?deviceId={id}&list={list} deviceID={id)是第一个字符串,例如divice id,list={list}是第二个字符串 HttpClient httpClient = new DefaultHttpClient(); HttpPos

我想创建请求,并想将参数发送到服务器,例如两个字符串(hello,hello) 我在谷歌上搜索了一下,写了一些代码,但我有调试错误(我的问题是URL) 我想在这个url中发送两个字符串http://*//**.aspx?deviceId={id}&list={list} deviceID={id)是第一个字符串,例如divice id,list={list}是第二个字符串

  HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(
            "http://****/***/******.aspx?deviceId={id}&list={list}");

    List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
    nameValuePair.add(new BasicNameValuePair("id", android_id));
    nameValuePair.add(new BasicNameValuePair("list","Hello"));

    try {
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
    } catch (UnsupportedEncodingException e) {

        e.printStackTrace();
    }

    try {
        HttpResponse response = httpClient.execute(httpPost);

        Log.d("Http Response:", response.toString());
    } catch (ClientProtocolException e) {

        e.printStackTrace();
    } catch (IOException e) {

        e.printStackTrace();

    }
    Toast.makeText(getApplicationContext(), android_id, Toast.LENGTH_LONG)
            .show();
}
HttpClient-HttpClient=newdefaulthttpclient();
HttpPost HttpPost=新的HttpPost(
“http://******/********.aspx?deviceId={id}&list={list}”);
List nameValuePair=新的ArrayList(2);
添加(新的BasicNameValuePair(“id”,android_id));
添加(新的BasicNameValuePair(“列表”,“你好”));
试一试{
setEntity(新的UrlEncodedFormEntity(nameValuePair));
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
试一试{
HttpResponse response=httpClient.execute(httpPost);
Log.d(“Http响应:,Response.toString());
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
Toast.makeText(getApplicationContext(),android\u id,Toast.LENGTH\u LONG)
.show();
}

}

我认为这是一种GET方法,您正在尝试发布它,对吗

如果是GET方法,则必须在URL本身内部传递请求,如下所示

您以前的代码:

 HttpPost httpPost = new HttpPost(
        "http://****/***/******.aspx?deviceId={id}&list={list}");
现在换成,

 HttpGet httpPost = new HttpGet(
        "http://****/***/******.aspx?deviceId="+android_id+"&list="+"Hello");

简单地说,您不必在URL中硬编码参数,因为您使用的是名称-值对。 我认为这应该没有问题

HttpClient httpClient = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(
            "http://****/***/******.aspx");

    List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
    nameValuePair.add(new BasicNameValuePair("id", android_id));
    nameValuePair.add(new BasicNameValuePair("list","Hello"));

    try {
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
    } catch (UnsupportedEncodingException e) {

        e.printStackTrace();
    }

    try {
        HttpResponse response = httpClient.execute(httpPost);

        Log.d("Http Response:", response.toString());
    } catch (ClientProtocolException e) {

        e.printStackTrace();
    } catch (IOException e) {

        e.printStackTrace();

    }
    Toast.makeText(getApplicationContext(), android_id, Toast.LENGTH_LONG)
            .show();
}
}
HttpClient-HttpClient=newdefaulthttpclient();
HttpPost HttpPost=新的HttpPost(
“http://******/************.aspx”);
List nameValuePair=新的ArrayList(2);
添加(新的BasicNameValuePair(“id”,android_id));
添加(新的BasicNameValuePair(“列表”,“你好”));
试一试{
setEntity(新的UrlEncodedFormEntity(nameValuePair));
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
试一试{
HttpResponse response=httpClient.execute(httpPost);
Log.d(“Http响应:,Response.toString());
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
Toast.makeText(getApplicationContext(),android\u id,Toast.LENGTH\u LONG)
.show();
}
}

我不知道,我对httpOK fine知之甚少,您现在尝试访问的是谁开发了此web服务,请询问他们它是在GET方法还是POST方法中创建的?因为您使用了HttpPost,所以web服务也应该在POST方法中,这样只有您才能访问它。如果在GET方法中,则需要使用HttpGet。我问他,这是一种获取方法。首先,你在网络浏览器中尝试该url,然后手动传递值,偏离主题:。您可以在上找到其他选项。这不起作用:(我无法将两个参数发送到server@user3233500你是怎么测试的?