2015-11-07 56 views
-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。这意味着,将表单数据的表单提交给指定的端点。 请指教。

谢谢

回答

0

我能够用android应用程序内的webview做到这一点。任何人都会遇到这种情况,我衷心希望你不会象我一样惩罚自己48小时。 谢谢