-4
嗨请在我的Android应用程序中复制下面的html代码时需要帮助。 **** **** HTML测试 这里:http://bestng.com/buycards 在Github上:https://github.com/babaphemy/buycards 形式:在Android应用程序中复制HTML表单流程
<?php session_start();
//if(isset($_POST['name'])){
//$amt1 = htmlspecialchars(mysql_real_escape_string($_POST['amount'])) * 100 ;
$amt1 = $_POST['amount'] * 100;
$_SESSION['amt4hash'] = $amt1;
$tref = $_SESSION['genref'] ;
$_SESSION['pdtid'] = $pdid = 6205;
$_SESSION['item'] = $pitem = 101;
$rurl = "http://localhost/buycards/tpay.php";
$mac = "D3D1D05AFE42AD50818167EAC73C109168A0F108F32645C8B59E897FA930DA44F9230910DAC9E20641823799A107A02068F7BC0F4CC41D2952E249552255710F";
$tohash = $tref.$pdid.$pitem.$amt1.$rurl.$mac;
$dhash = hash('sha512',$tohash);
$_SESSION['hashout'] = $dhash;
//}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<title>My Website</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/custom.css" rel="stylesheet">
<script src="js/respond.js"></script>
</head>
<body>
<div class="container">
<!-- row 1: navigation -->
<div class="row">
<nav class="navbar navbar-default navbar-fixed-top navbar-inverse">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#collapse">
<span class="sr-only">Toggle navigation</span>
<span class="glyphicon glyphicon-arrow-down"></span>
MENU
</button>
</div>
<div class="collapse navbar-collapse" id="collapse">
<ul class="nav navbar-nav">
<li><a href="#">Home</a></li>
<li class="dropdown"><a href="#" data-toggle="dropdown">About <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Dr. Nothing</a></li>
<li><a href="#">Dr. Do little</a></li>
<li><a href="#">Dr. Sanders</a></li>
</ul>
</li>
<li class="active"><a href="#">Services</a></li>
<li><a href="#">Photo Gallery</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</nav>
</div>
<!-- row 2: header -->
<header class="row">
<div class="col-lg-6 col-sm-5">
<a href="index.html"><img src="img/logo.png" alt="Wisdom Pets. click for home." class="img-responsive"></a>
</div>
<div class="col-lg-6 col-sm-7">
<img src="img/animals.jpg" alt="" class="hidden-xs img-responsive">
</div>
</header>
<!-- row 3: article/aside -->
<div class="row">
<article class="col-lg-offset-1 col-sm-offset-1 col-lg-8 col-sm-7 col-lg-push-3 col-sm-push-4">
<ol class="breadcrumb">
<li><a href="#">Home</a> <span class="glyphicon glyphicon-circle-arrow-right"></span></li>
<li><a href="#">Services</a> <span class="glyphicon glyphicon-circle-arrow-right"></span></li>
<li class="active">Categories</li>
</ol>
<p><span class="glyphicon-credit-card"></span>
<p>
<form name="contactform" method="post" action="https://stageserv.interswitchng.com/test_paydirect/pay">
<fieldset>
<legend>Confirm your payment </legend>
<input name="product_id" type="hidden" value="<?php echo $pdid ;?>" >
<input name="pay_item_id" type="hidden" value="<?php echo $pitem ;?>" >
<input name="currency" type="hidden" value="566" >
<input name="amount" type="hidden" value="<?php echo $amt1 ; ?>" >
<input name="txn_ref" type="hidden" value="<?php echo $tref ;?>" >
<input name="site_redirect_url" type="hidden" value="<?php echo $rurl ; ?>" >
<input name="hash" type="hidden" value="<?php echo $dhash; ?>" >
<input name="cust_name" type="hidden" value="Test" >
<input name="cust_id" type="hidden" value="AD99" >
<label>Reference : <?php echo $tref ;?></label>
<input type="hidden" value="<?php echo $tref ;?>" ><br />
<label>Amount</label>
<input name="ama" type="text" value="<?php echo $_SESSION['amt4hash']/100;?>" readonly="readonly" ><br />
<button type="submit">Pay</button>
</form>
</p>
<!-- nested row 3a: callouts -->
<div class="clearfix visible-xs visible-lg"></div>
</article>
<aside class="col-lg-3 col-sm-4 col-lg-pull-9 col-sm-pull-8">
<h3>About Our Services</h3>
<ul class="nav nav-pills nav-stacked">
<li class="active"><a href="#">Vaccinations</a></li>
<li><a href="#">Checkups</a></li>
<li><a href="#">Senior Pets</a></li>
<li><a href="#">Diet Plans</a></li>
</ul>
</aside>
</div><!-- end row 3 -->
<!-- row 4 -->
<footer class="row">
<p><small>This not a real veterinary medicine site, and is not meant to diagnose or offer treatment. Please see your veterinarian for all matters related to your pet's health.</small></p>
<p><small>Wisdom Pet Medicine is a training brand owned by lynda.com.</small></p>
</footer>
</div> <!-- end container -->
<!-- javascript -->
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script>
$('a.btn-info').tooltip()
</script>
</body>
</html>
下面显示了Android类: 在GitHub上:https://github.com/babaphemy/bcandroid/blob/master/app/src/main/java/net/myeverlasting/webpost/MainActivity.java
package net.myeverlasting.webpost;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.text.Html;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONObject;
import java.io.IOException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
import java.util.Random;
import java.util.WeakHashMap;
import javax.net.ssl.HttpsURLConnection;
public class MainActivity extends AppCompatActivity {
EditText ama;
Button dopay;
TextView tryit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ama = (EditText) findViewById(R.id.ama);
dopay = (Button) findViewById(R.id.pay);
tryit = (TextView) findViewById(R.id.mesag);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
public void send(View v){
final String disama = ama.getText().toString();
Random r = new Random();
int tr = r.nextInt(1000000 - 999999) + 999999;
final String myref = String.valueOf(tr);
final String pdtid = "6205";
final String pid = "101";
String curr = "566";
final String rurl = "http://localhost/lotto/tpay.php";
final String mac = "D3D1D05AFE42AD50818167EAC73C109168A0F108F32645C8B59E897FA930DA44F9230910DAC9E20641823799A107A02068F7BC0F4CC41D2952E249552255710F";
final String gethash = pasher(myref,pdtid,pid,disama,mac,rurl);
if(disama.length() > 0){
String url = "https://stageserv.interswitchng.com/test_paydirect/pay";
StringRequest postrequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String resp) {
tryit.setText(Html.fromHtml(resp));
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("Error ["+error+"]");
error.printStackTrace();
}
}
){
@Override
protected Map<String, String> getParams()
{
Map<String, String> params = new Hashtable<>();
//params.put("Content-Type", "application/json; charset=utf-8");
params.put("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
//params.put("User-agent", "My useragent");
// the POST parameters:
params.put("firstname", "firstname");
params.put("businesscategory", "femi");
params.put("product_id", pdtid);
params.put("pay_item_id", pid);
params.put("currency", "566");
params.put("txn_ref", myref);
params.put("site_redirect_url", rurl);
params.put("hash", gethash);
params.put("cust_name", "Demo Test");
params.put("amount", disama);
return params;
}
};
RequestQueue rque = Volley.newRequestQueue(this);
rque.add(postrequest);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
public static String pasher(String tref,String pdif,String pitem,String amt,String rurl,String mac){
String fhash = null;
try {
MessageDigest md = MessageDigest.getInstance("SHA-512");
String tohash = tref+pdif+pitem+amt+rurl+mac;
md.update(tohash.getBytes());
byte[] bt = md.digest();
StringBuilder sb = new StringBuilder();
for(int i=0; i<bt.length; i++){
sb.append(Integer.toString((bt[i] & 0xff) + 0x100, 16).substring(1));
}
fhash = sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return fhash;
}
}
总之,我只想复制我正在做的:android类中的http://bestng.com/buycards。这意味着,将表单数据的表单提交给指定的端点。 请指教。
谢谢