请原谅我对这个主题缺乏了解,但我对网络,PHP,网络请求等方面的知识很少。基本上,我想将一个字符串发送到网站,以便使用$_GET变量进行记录。如何从应用程序内部使用此方法发送字符串?
(我再也不能自己回答6个小时,但是如果我可以,这就是它的样子,当然答案中的代码。只是不想从原来拿走问题。)
最后,代码found here起作用了。 应用程序向Web服务器发送请求,然后将$ _GET变量中的字符串附加到日志文件中!花了几个小时才搞清楚。 :升
答案 0 :(得分:5)
您可以使用Apache Commons HttpClient库发出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());
答案 1 :(得分:0)
wanstein是对的,但现在不推荐使用 URIUtils.createURI (4.2.1),因此最好使用URIBuilder:
URI uri = new URIBuilder()
.setFragment("http")
.setHost(HOST)
.setPath(path)
.setQuery(URLEncodedUtils.format(qparams, "UTF-8"))
.build();