以下代码尝试将字符串从Android发布到PHP。
Android上的代码:
HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost("http://MAMP-SERVER/post.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("username", "Andro"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
httpclient.execute(post);
Log.i("POSTED", "YOUR USERNAME");
} catch (ClientProtocolException e) {
Log.e("Client Protocol Exception", "Err "+ e.getMessage());
} catch (IOException e) {
Log.e("IO Exception","Err "+ e.getMessage());
}
PHP代码:
$test=$_REQUEST["username"]; print $_REQUEST["username"];
答案 0 :(得分:0)
你试过了吗?
$test=$_POST["username"]; print $_POST["username"];
答案 1 :(得分:0)
您确定要实际发布数据吗?
您可以尝试发送POST请求,就像下面的方法一样。然后,您应该能够使用$ _POST
简单地在PHP中获取您的值public void execute(final RequestMethod method)
throws IllegalArgumentException, UnsupportedEncodingException {
switch (method) {
case GET:
// add parameters
String combinedParams = "";
if (!params.isEmpty()) {
combinedParams += "?";
for (NameValuePair p : params) {
String paramString = p.getName() + "="
+ URLEncoder.encode(p.getValue(), "UTF-8");
if (combinedParams.length() > 1) {
combinedParams += "&" + paramString;
} else {
combinedParams += paramString;
}
}
}
HttpGet getRequest = new HttpGet(remoteUrl + combinedParams);
// add headers
for (NameValuePair h : headers) {
getRequest.addHeader(h.getName(), h.getValue());
}
executeRequest(getRequest, remoteUrl);
break;
case POST:
HttpPost postRequest = new HttpPost(remoteUrl);
// add headers
for (NameValuePair h : headers) {
postRequest.addHeader(h.getName(), h.getValue());
}
if (!params.isEmpty()) {
postRequest.setEntity(new UrlEncodedFormEntity(
(List<? extends NameValuePair>) params, HTTP.UTF_8));
}
executeRequest(postRequest, remoteUrl);
break;
default:
break;
}
}
和
private void executeRequest(final HttpUriRequest request, final String url) {
HttpClient client = new DefaultHttpClient();
HttpResponse httpResponse;
try {
httpResponse = client.execute(request);
responseCode = httpResponse.getStatusLine().getStatusCode();
errorMessage = httpResponse.getStatusLine().getReasonPhrase();
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
responseStream = entity.getContent();
if (!needStreamInsteadOfString) {
response = convertStreamToString(responseStream);
// Closing the input stream will trigger connection release
responseStream.close();
}
}
} catch (ClientProtocolException e) {
client.getConnectionManager().shutdown();
e.printStackTrace();
} catch (IOException e) {
client.getConnectionManager().shutdown();
e.printStackTrace();
}
}