返回从PHP到Android的链接以下载
在将Android应用程序连接到PHP并验证订单之后,然后发布下载链接,我需要将此下载链接原样返回到Android以读取它并开始下载 从PHP方面来看,我得到了最终结果返回从PHP到Android的链接以下载,php,android,download,Php,Android,Download,在将Android应用程序连接到PHP并验证订单之后,然后发布下载链接,我需要将此下载链接原样返回到Android以读取它并开始下载 从PHP方面来看,我得到了最终结果 echo ''.$url.'/used/'.$products.'/'.$orderid.'.dat'; 从Android(JAVA)方面: int responseCode=data.getIntExtra(“响应代码”,0); String purchaseData=data.getStringExtra(“INAPP_p
echo ''.$url.'/used/'.$products.'/'.$orderid.'.dat';
从Android(JAVA)方面:
int responseCode=data.getIntExtra(“响应代码”,0);
String purchaseData=data.getStringExtra(“INAPP_purchaseData”);
String dataSignature=data.getStringExtra(“INAPP_数据_签名”);
String query=“purchaseData=“+purchaseData+”&dataSignature=“+dataSignature+”;
最终字符串url=”https://domain/thankyou.php?“+查询;
StringRequest StringRequest=新的StringRequest(Request.Method.POST,url,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
if(响应.相等信号情况(“0”)){
Toast.makeText(MainActivity.this,“验证中出错,请确保!!”,Toast.LENGTH\u LONG.show();
}否则{
下载_文件(响应);
}
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG.show();
}
})
};
编辑澄清问题:
我的问题是如何将链接从PHP的echo返回到JAVA,以便Android下载管理器可以阅读并开始下载你需要澄清你的问题是什么。我的问题是如何将链接从PHP的echo返回到JAVA,以便Android下载管理器可以阅读并开始下载只是一条评论,这就打开了巨大的漏洞…想象一下e如果你的应用受到攻击,攻击者发回一个恶意链接。Android会毫无疑问地下载它。我建议重新考虑你的设计。@luke park感谢你的建议。我正在使用INAPP购买数据和自定义字符串来验证订单,因为如果这些参数不符合,文件将不会发布。你认为这还不够吗?W如果整个通信都被破坏了,那么是什么阻止了攻击者仅仅更改URL?即使其他一切都是正确的,客户端也无法判断它已被修改。
int responseCode = data.getIntExtra("RESPONSE_CODE", 0);
String purchaseData = data.getStringExtra("INAPP_PURCHASE_DATA");
String dataSignature = data.getStringExtra("INAPP_DATA_SIGNATURE");
String query = "purchaseData="+purchaseData+"&dataSignature="+dataSignature+";
final String url = "https://domain/thankyou.php?" + query;
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if(response.equalsIgnoreCase("0")){
Toast.makeText(MainActivity.this,"Error in verification Please make sure !!",Toast.LENGTH_LONG).show();
}else{
Download_file(response);
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG).show();
}
})
};