Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.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应用程序内部发送web请求?_Java_Android_Http_Get - Fatal编程技术网

Java 如何从Android应用程序内部发送web请求?

Java 如何从Android应用程序内部发送web请求?,java,android,http,get,Java,Android,Http,Get,请原谅我对这个主题缺乏知识,但是我对网络、PHP、web请求等方面的知识非常少。本质上,我想向网站发送一个字符串,以便使用变量进行日志记录。如何使用此方法从应用程序内部发送字符串 (我在接下来的6个小时内无法自我回答,但如果可以的话,下面是答案的样子,答案中当然有代码。只是不想从原来的问题中去掉。) 最后,代码成功了。 应用程序向web服务器发送请求,然后web服务器将$\u GET变量中的字符串附加到日志文件中!不过花了几个小时才弄明白l您可以使用库发出HTTP请求 HTTP请求URI由协议方

请原谅我对这个主题缺乏知识,但是我对网络、PHP、web请求等方面的知识非常少。本质上,我想向网站发送一个字符串,以便使用变量进行日志记录。如何使用此方法从应用程序内部发送字符串

(我在接下来的6个小时内无法自我回答,但如果可以的话,下面是答案的样子,答案中当然有代码。只是不想从原来的问题中去掉。)

最后,代码成功了。 应用程序向web服务器发送请求,然后web服务器将$\u GET变量中的字符串附加到日志文件中!不过花了几个小时才弄明白l

您可以使用库发出HTTP请求

HTTP请求URI由协议方案、主机名、可选端口、资源路径、可选查询和可选片段组成

HttpGet httpget = new HttpGet(
     "http://www.google.com/search?hl=en&q=httpclient&btnG=Google+Search&aq=f&oq=");
也可以从单个参数生成查询字符串:

List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("q", "httpclient"));
qparams.add(new BasicNameValuePair("btnG", "Google Search"));
qparams.add(new BasicNameValuePair("aq", "f"));
qparams.add(new BasicNameValuePair("oq", null));
URI uri = URIUtils.createURI("http", "www.google.com", -1, "/search", 
    URLEncodedUtils.format(qparams, "UTF-8"), null);
HttpGet httpget = new HttpGet(uri);
System.out.println(httpget.getURI());
List qparams=new ArrayList();
添加(新的BasicNameValuePair(“q”、“httpclient”);
添加(新的BasicNameValuePair(“btnG”,“谷歌搜索”);
添加(新的BasicNameValuePair(“aq”、“f”);
添加(新的BasicNameValuePair(“oq”,null));
URI=URIUtils.createURI(“http”、“www.google.com”、-1、“/search”,
URLEncodedUtils.format(qparams,“UTF-8”),null;
HttpGet HttpGet=新的HttpGet(uri);
System.out.println(httpget.getURI());
您可以使用库发出HTTP请求

HTTP请求URI由协议方案、主机名、可选端口、资源路径、可选查询和可选片段组成

HttpGet httpget = new HttpGet(
     "http://www.google.com/search?hl=en&q=httpclient&btnG=Google+Search&aq=f&oq=");
也可以从单个参数生成查询字符串:

List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("q", "httpclient"));
qparams.add(new BasicNameValuePair("btnG", "Google Search"));
qparams.add(new BasicNameValuePair("aq", "f"));
qparams.add(new BasicNameValuePair("oq", null));
URI uri = URIUtils.createURI("http", "www.google.com", -1, "/search", 
    URLEncodedUtils.format(qparams, "UTF-8"), null);
HttpGet httpget = new HttpGet(uri);
System.out.println(httpget.getURI());
List qparams=new ArrayList();
添加(新的BasicNameValuePair(“q”、“httpclient”);
添加(新的BasicNameValuePair(“btnG”,“谷歌搜索”);
添加(新的BasicNameValuePair(“aq”、“f”);
添加(新的BasicNameValuePair(“oq”,null));
URI=URIUtils.createURI(“http”、“www.google.com”、-1、“/search”,
URLEncodedUtils.format(qparams,“UTF-8”),null;
HttpGet HttpGet=新的HttpGet(uri);
System.out.println(httpget.getURI());

wanstein是正确的,但URIUtils.createURI现在已被弃用(4.2.1),因此最好使用URIBuilder:

URI uri = new URIBuilder()
                .setFragment("http")
                .setHost(HOST)
                .setPath(path)
                .setQuery(URLEncodedUtils.format(qparams, "UTF-8"))
                .build();

wanstein是正确的,但URIUtils.createURI现在已不推荐使用(4.2.1),因此最好使用URIBuilder:

URI uri = new URIBuilder()
                .setFragment("http")
                .setHost(HOST)
                .setPath(path)
                .setQuery(URLEncodedUtils.format(qparams, "UTF-8"))
                .build();

但是我如何让应用程序使用该链接将请求实际发送到站点呢?您可以使用HttpClient的实现来执行它,例如:
newdefaulthttpclient().execute(httpget)请参见,但如何让应用程序使用该链接将请求实际发送到站点?您可以使用HttpClient的实现来执行它,例如:
new DefaultHttpClient().execute(httpget)
see不是
http
uri的片段而是它的方案吗?不是
http
uri的片段而是它的方案吗?