我需要一个简单的androd应用程序,它将一个单词发送到服务器并从服务器接收答案。我创建了一个表单,它有两行和一个按钮。在第一行用户编写单词并单击按钮。在这个时候,应用程序将此单词发送到服务器。当服务器发回响应时,我们会在其他行显示此响应。
我正确的一些代码,但是这个代码不适用于android 23.我也尝试通过改造来做到这一点,但是我有修改这个问题的varios问题。
我知道只需要使用POST,但不知道如何。
我可以将我的android的ip地址发送到服务器吗?
答案 0 :(得分:0)
试试这段代码: 它还会将该页面的响应作为String
返回\0
并通过以下方式调用:
public static String postRequest(String post_url, String data) {
try {
URL url = new URL(post_url);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
BufferedReader br;
StringBuilder sb = new StringBuilder();
String line;
connection.setDoOutput(true);
connection.setRequestMethod("POST");
connection.setReadTimeout(10000);
Writer writer = new OutputStreamWriter(connection.getOutputStream());
writer.write(data);
writer.flush();
writer.close();
if (200 <= connection.getResponseCode() && connection.getResponseCode() <= 299) {
br = new BufferedReader(new InputStreamReader((connection.getInputStream())));
} else {
br = new BufferedReader(new InputStreamReader((connection.getErrorStream())));
}
while ((line = br.readLine()) != null) {
sb.append(line);
}
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
答案 1 :(得分:0)
我认为凌空将满足您的需求,它是一个非常简单的库,可以处理异步请求:
https://developer.android.com/training/volley/index.html
“我可以将我的android的ip地址发送到服务器吗?”
当然,假设你正在使用PHP,要让你的android ip在服务器端使用这样的代码:
<?
$ip = $_SERVER["REMOTE_ADDR"];
echo "<br />Your IP is : $ip";
?>
编辑:NodsJS示例
app.post('/getip', function (req, res) {
var ip = req.headers['x-forwarded-for'] ||
req.connection.remoteAddress ||
req.socket.remoteAddress ||
req.connection.socket.remoteAddress;
})