/*
* 請求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));
}