/*
* 请求PHP接口 //请求方法
* @param pathUrl 接口地址
* @param params 请求参数
* @return httpUrlConnection
*/
public String httpUrlConnection(String pathUrl, String userName,String userPwd) {
try {
// 建立连接
URL url = new URL(pathUrl);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
// //设置连接属性
httpConn.setDoOutput(true);// 使用 URL 连接进行输出
httpConn.setDoInput(true);// 使用 URL 连接进行输入
httpConn.setUseCaches(false);// 忽略缓存
httpConn.setRequestMethod("POST");// 设置URL请求方法
String requestString = "userName=" + userName;
String requestString1 = "userPwd=" + userPwd;
// 设置请求属性
// 获得数据字节数据,请求数据流的编码,必须和下面服务器端处理请求流的编码一致
byte[] requestStringBytes = requestString.getBytes("UTF-8");
requestStringBytes = requestString1.getBytes("UTF-8");
httpConn.setRequestProperty("Content-length", "" + requestStringBytes.length);
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
//
// 建立输出流,并写入数据
OutputStream outputStream = (OutputStream) httpConn.getOutputStream();
outputStream.write(requestStringBytes);
outputStream.close();
// 获得响应状态
int responseCode = httpConn.getResponseCode();
// HttpURLConnection. == responseCode
if (httpConn.HTTP_OK == responseCode) {// 连接成功
// 当正确响应时处理数据
StringBuffer sb = new StringBuffer();
String readLine;
BufferedReader responseReader;
// 处理响应流,必须与服务器响应流输出的编码一致
responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));
while ((readLine = responseReader.readLine()) != null) {
sb.append(readLine).append("\n");
}
responseReader.close();
return sb.toString();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return "";
}
@Override
public String httpUrlConnection(String pathUrl, String userName, String userPwd, Date lastTime) {
try {
// 建立连接
URL url = new URL(pathUrl);
HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
// //设置连接属性
httpConn.setDoOutput(true);// 使用 URL 连接进行输出
httpConn.setDoInput(true);// 使用 URL 连接进行输入
httpConn.setUseCaches(false);// 忽略缓存
httpConn.setRequestMethod("POST");// 设置URL请求方法
String requestString = "userName=" + userName;
String requestString2 = "userpwd=" + userPwd;
String requestString3 ="lastTime="+lastTime;
// 设置请求属性
// 获得数据字节数据,请求数据流的编码,必须和下面服务器端处理请求流的编码一致
byte[] requestStringBytes = requestString.getBytes("UTF-8");
requestStringBytes = requestString2.getBytes("UTF-8");
requestStringBytes = requestString3.getBytes("UTF-8");
httpConn.setRequestProperty("Content-length", "" + requestStringBytes.length);
httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpConn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接
httpConn.setRequestProperty("Charset", "UTF-8");
//
// 建立输出流,并写入数据
OutputStream outputStream = (OutputStream) httpConn.getOutputStream();
outputStream.write(requestStringBytes);
outputStream.close();
// 获得响应状态
int responseCode = httpConn.getResponseCode();
// HttpURLConnection. == responseCode
if (httpConn.HTTP_OK == responseCode) {// 连接成功
// 当正确响应时处理数据
StringBuffer sb = new StringBuffer();
String readLine;
BufferedReader responseReader;
// 处理响应流,必须与服务器响应流输出的编码一致
responseReader = new BufferedReader(new InputStreamReader(httpConn.getInputStream(), "UTF-8"));
while ((readLine = responseReader.readLine()) != null) {
sb.append(readLine).append("\n");
}
responseReader.close();
System.out.println(sb.toString());
return sb.toString();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return "";
}
新建一个类调用上面写的方法(重载)
String pathUrl = "http://192.168.xxx.xxx:80/tp32/index.php/Home/Manager/login";
String php = userService.httpUrlConnection(pathUrl, userName,userPwd);
System.out.println(php);
PHP中 我用一个测试数据来展现一下
public function test1()
{
$users = D("user");
$data = $users->select();
$data_all = array(
'flag' => 1,
'msg' => '成功'
);
$data_all['data']=$data;
$this->ajaxReturn(json_encode($data_all));
}