向PHP api发送HTTP请求时,是否可以检索android应用程序信息,如id、名称?
我正在创建一个网站,我必须在其中验证应用程序的所有权。我提供的安卓代码,用户将粘贴到他的应用程序。 这段代码只是将HTTP请求发送到我的API服务器。我已经在api.php中打印了$\请求。在响应中$\u请求仅返回我在应用程序代码中传递的参数 以下是android代码:向PHP api发送HTTP请求时,是否可以检索android应用程序信息,如id、名称?,php,android,rest,httpurlconnection,Php,Android,Rest,Httpurlconnection,我正在创建一个网站,我必须在其中验证应用程序的所有权。我提供的安卓代码,用户将粘贴到他的应用程序。 这段代码只是将HTTP请求发送到我的API服务器。我已经在api.php中打印了$\请求。在响应中$\u请求仅返回我在应用程序代码中传递的参数 以下是android代码: package com.example.vasim.apisample; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity
package com.example.vasim.apisample;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class MainActivity extends AppCompatActivity {
private static String urlString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String adSetupID = "25";
String adSetupBannerSize = "125x125";
// Create data variable for sent values to server
String data = null;
try {
data = URLEncoder.encode("block_id", "UTF-8")+ "=" + URLEncoder.encode(adSetupID, "UTF-8");
data += "&" + URLEncoder.encode("banner_size", "UTF-8") + "=" + URLEncoder.encode(adSetupBannerSize, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// Send Request
urlString = "http://howtocodeigniter.com/api.php?"+data;
new ProcessJSON().execute(urlString);
}
private class ProcessJSON extends AsyncTask<String, Void, String> {
protected String doInBackground(String... strings){
String stream = null;
String urlString = strings[0];
HTTPDataHandler hh = new HTTPDataHandler();
stream = hh.GetHTTPData(urlString);
// Return the data from specified url
return stream;
}
protected void onPostExecute(String stream){
//..........Process JSON DATA................
if(stream !=null){
// Get the full HTTP Data as JSONObject
//JSONObject reader= new JSONObject(stream);
Log.e("server_response:", stream);
} // if statement end
} // onPostExecute() end
} // ProcessJSON class end
} // MainActivity class end
我想要用户代理数据(设备名、应用程序id、用户ip等),就像我们在PHP中获取的一样 如果不是在Android端手动实现,您将无法获取任何应用程序信息 HTTP客户端通常只发送您要求它发送的内容。。。请随意使用自定义或众所周知的标题或查询字符串。。。或是后躯…@Selvin-hmm。。还有其他选项可以让它工作吗?是的,只有一个,用webbrowser打开它,而不是用http客户端打开它,它将向您发送有关设备的更多信息。。。你不明白什么?若你们并没有从客户端发送这些信息,你们将无法在服务器端得到它们!是的,你是对的。。我已经打印了$_SERVER['HTTP\U USER\U AGENT',我刚刚收到Dalvik/2.1.0(Linux;U;Android 7.0;Android SDK为x86 Build/NYC构建)
E/server_response:: Array( [block_id] => 25 [banner_size] => 125x125)