當前位置:首頁 » 編程語言 » java模擬登陸

java模擬登陸

發布時間: 2022-02-25 07:22:50

java模擬支付寶登錄,怎麼弄

1.思路

模擬支付寶登陸系統,輸入用戶名和密碼,當用戶名和密碼均正確的時候
提示:登陸成功,否則提示用戶名密碼錯誤,重新輸入,當輸入錯誤5次以後
,賬號鎖定,提示輸入錯誤5次,賬號已經被封鎖,請聯系管理員!

2.案例

Ⅱ java編寫一個程序模擬用戶登錄操作,用戶名和密碼從鍵盤輸入

import java.util.Scanner;

public class LoginTest {
/**
* @param args
*/
public static void main(String[] args) {
String loginName = "admin";
String passWord = "123456";
Scanner sc = new Scanner(System.in);
boolean isSuccess = false;
int index = 0;
while(!isSuccess){
System.out.println("請輸入用戶名:");
String name = sc.nextLine(); //讀取字元串型輸入
System.out.println("請輸入密碼:");
String passW = sc.nextLine();
if(loginName.equals(name)&&passWord.equals(passW)){
System.out.println("戶名密碼正確,退出程序");
isSuccess = true;
}else{
if(++index>=3){
System.out.println("用戶名密碼錯誤,程序即將退出");
return;
}else{
System.out.println("用戶名密碼錯誤,請重新輸入");
}

}
}

}

}

Ⅲ java 模擬post登錄

這個要分兩步,先用GET方法取得頁面源碼,分析出mpc的值,然後用POST方法發送數據就能登錄了。當然一切工作之前要設置好CookieHandler

post頁面:
http://www.songtaste.com/info_oper.php?tag=signin&pageref=

post參數就4個而已,
name=yourName&pwd=yourPassword&B12=Login&mpc=分析得到的mpc

看如下例子:
http://..com/question/141336096.html
將這個例子中的如下語句改一下就能收到數據的
connection.getInputStream().close();

//
import java.io.BufferedInputStream;
import java.io.DataOutputStream;
import java.io.InputStream;
import java.net.CookieHandler;
import java.net.CookieManager;
import java.net.CookiePolicy;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class SongTaste {
private static String baseURL="http://www.songtaste.com";
private static String loginURL=baseURL+"/signin.php";
private static String actionURL=baseURL+"/info_oper.php?tag=signin&pageref=";
private static String musicURL=baseURL+"/music/";
private static CookieManager cm;
static{
cm=new CookieManager();
cm.setCookiePolicy(CookiePolicy.ACCEPT_ALL);
CookieHandler.setDefault(cm);
}
public static void main(String[] args) throws Exception{
// HttpURLConnection.setFollowRedirects(true);
login("abcmusic","000000");
listContents();
}

private static void listContents() throws Exception {
byte[] dat=new HttpGet(musicURL).data;
String src=new String(dat,"gbk");
Matcher m=Pattern.compile("MSL\\(.*?\\)").matcher(src);
while(m.find())
System.out.println(m.group());
}

private static void login(String name,String pwd){
byte[] dat=new HttpGet(loginURL).data;
String src=new String(dat);
Matcher m=Pattern.compile("name=mpc.*?>").matcher(src);
String mpc="";
if(m.find()){
mpc=m.group();
// System.out.println(mpc);
mpc=mpc.substring(15,mpc.length()-1);
// System.out.println(mpc);
}
//do login
new HttpPost(actionURL,String.format("name=%s&pwd=%s&B12=Login&mpc=%s",name,pwd,mpc));
}

private static class HttpGet extends Thread{
private static final int bufferSize=1024;
private String ustr;
private byte[] data;

private HttpGet(String u,String...ref){
ustr=u;
start();
try {join();} catch (Exception e) {}
}

public void run(){
try{
URL u = new URL(ustr);
HttpURLConnection uc=(HttpURLConnection)u.openConnection();
byte[] b={};
byte[] t=new byte[bufferSize];
int r;
BufferedInputStream bin=new BufferedInputStream(uc.getInputStream());
while((r=bin.read(t))>-1){
b=putData(b,t,r);
}
bin.close();
uc.disconnect();
data=b;
}catch(Exception e){}
}

private final byte[] putData(byte[] b, byte[] t, int r) {
byte[] tb=new byte[b.length+r];
System.array(b, 0, tb, 0, b.length);
System.array(t, 0, tb, b.length, r);
return tb;
}
}

private static class HttpPost extends Thread{
private static int blen=1024;
private static String contentType="application/x-www-form-urlencoded";
private String url,pms;
private byte[] dat={};
private HttpPost(String u,String p){
url=u;
pms=p;
start();
try{join();}catch(Exception e){}
}
public void run(){
try{
URL u = new URL(url);
HttpURLConnection connection=(HttpURLConnection)u.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type",contentType);
connection.setRequestProperty("Content-Length",String.valueOf(pms.length()));
connection.setUseCaches(false);
connection.setDoOutput(true);
connection.setDoInput(true);
DataOutputStream dout=new DataOutputStream(connection.getOutputStream());
dout.write(pms.getBytes());
dout.flush();
dout.close();
InputStream in=connection.getInputStream();
BufferedInputStream bin=new BufferedInputStream(in);
byte[] buff=new byte[blen],bs={};
int r;
while((r=bin.read(buff))>-1){
bs=putData(bs,buff,r);
}
bin.close();
connection.disconnect();
dat=bs;
}catch(Exception e){}
}
private final byte[] putData(byte[] b, byte[] t, int r) {
byte[] tb=new byte[b.length+r];
System.array(b, 0, tb, 0, b.length);
System.array(t, 0, tb, b.length, r);
return tb;
}
}
}

Ⅳ java模擬登錄頁面

database.url=jdbc:mysql://127.0.0.1:3306/irs?user=root&password=123
sso.service=http://127.0.0.1:8080/irs/sso.do
sso.cas=http://127.0.0.1:8080/SSO
sso.cas.enabled=1

server.city.code=101010100
他們說的那個sessionid可能是鑒權用的,登錄請求系統的時候把sessionid帶過去就行了

Ⅳ JAVA超簡單的模擬登陸

public static void main(String[] args){
int i=0;
for(;i<3;i++){
Scanner scan=new Scanner(System.in);
System.out.println("請輸入用戶名:");
String Cuser=scan.nextLine();

System.out.println("請輸入密碼:");
String Cpwd=scan.nextLine();
if(!Cuser.equals("abc")){
if(i+1==3)
System.out.println("失敗3次");
else
System.out.println("用戶名非法!【第"+(i+1)+"次登錄】");
}
else if(!Cpwd.equals("abc")){
if(i+1==3)
System.out.println("失敗3次");
else
System.out.println("登錄密碼錯誤!【第"+(i+1)+"次登錄】");
}
else
{
System.out.println("恭喜您,登錄信息通過驗證!");
}

}
}

Ⅵ 如何用java模擬網頁登入提交

我不得不使用好幾個系統,都是B/S結構的,每次登錄都需要輸入用戶名和密碼,覺得非常麻煩,考慮到其他同事也會有這樣的需求,不妨就寫個自動登錄的程序吧。之前,也考慮過使用單點登錄,幾經嘗試之後還是放棄了。

我習慣使用Java,本能地開始尋找Java的解決方法,在Google中輸入「Java自動登錄」、「Java網頁模擬登錄」、「Java Post 登錄」,結果倒是不少,內容也差不多,我嘗試很多次終究也沒有達到我預期的目標。後來,我都不知道這些代碼應該在jsp頁面中執行還是在c/s結構的程序中執行。但這些代碼確實管用。

我們先分析一下代碼,
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.net.*" %>

String surl = "http://192.168.0.1:8888/oa/login.jsp";
URL url = new URL(surl);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter out=new OutputStreamWriter(conn.getOutputStream());
String str = "username=yourname&password=123456";
out.write(str);
out.flush();
out.close();
到這里,如果在C/S結構中,且參數正確,程序能夠成功登錄到這個oa系統,要看到結果,你可以通過下面的代碼將系統伺服器返回的結果System.out.println()出來。

String sling = "";
String scontent = "";
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
while ((sling = in.readLine()) != null)
scontent += in + "\r\n";
System.out.println(scontent);

在C/S結構下,可以到得到控制台輸出了返回值,從返回內容里可以看出程序已經成功登錄,但要是把這個網址瀏覽器打開,還是得重新登錄,問題沒有得到根本解決。如果只是惡意注冊,到這里應該就達到目的了。

看樣子C/S結構下不容易實現網頁程序自動登錄,除非你在C/S程序中內嵌一個瀏覽器,直接在這個瀏覽器中自動訪問系統,應該沒有別的方法,主要問題在於我們沒有辦法共享Session。

為了便於共享Session,我們只能在瀏覽器中實現網頁自動登錄,通過上面的代碼在jsp頁面中測試,達不到預期目標。

網頁自動登錄,就是希望程序自動填充用戶名和密碼,然後以Post方式提交給登錄頁面的Form所指向的action頁面或方法。我將系統的登錄頁面的源代碼保存成一個網頁,然後在username和password文本框中設置默認值,然後通過這網頁登錄系統,測試後,發現可行。接下來,你可能已經想到了解決方法。

我們可以通過url.openConnection()建立連接,將返回的scontent列印出來,然後接著列印以下代碼:
out.println("<script type="text/javascript">\r\n");
out.println("document.getElementsByName("username")[0].value=yourname;\r\n");
out.println("document.getElementsByName("password")[0].value=123456;\r\n");
out.println("document.forms[0].submit();\r\n");
out.println("</script>\r\n");
原理很簡單,通過login.jsp將登錄頁面的全部源代碼寫在當前頁面,然後使用javascript腳本將用戶名和密碼的值填充上,最後提交表單。這樣中,終於實現了自動登錄的目標。現在我通過一個特殊的網址,例如http://192.168.0.1/login.jsp?url=,就可以自動訪問這個oa了。
你可能注意到參數url,他的值是經過加密的,內容是用戶名和密碼。當然,你也可以加上有效期,即在有效期內這個鏈接才是有效的,才可以實現自動登錄。

Ⅶ java模擬登陸,求取用戶名和密碼,給三次機會,並提示還有幾次

import java.util.Scanner;

public class Logon {

private static final char username = '青';
private static final int password = 123;
private static final Scanner san = new Scanner(System.in);

public static void main(String[] args) {
char iname;
int ipass;
System.out.print("請輸入用戶名: ");
iname = san.next().charAt(0);
System.out.print("請輸入密碼: ");
ipass = san.nextInt();
if(Logon.username == iname && Logon.password == ipass) {
System.out.println("歡迎你, " + Logon.username);
} else {
System.out.println("對不起, 你不是" + Logon.username);
}
}

}

Ⅷ java 模擬登陸成功後,怎麼把session傳遞到下個頁面。

在登陸頁面,把要保存的數據先放到session裡面,session.setAttribute("這里寫給你要存的對象取的名字",存的對象),登陸成功後,就可以通過session.getAttribute(你取的名字)取對象了獲取數據了。session是內置對象,不需要傳遞,直接可以用。

Ⅸ java作業:模擬用戶登錄驗證,如果輸入用戶名為admin,密碼為1,提示輸入正確,否則繼續提示輸入

packagecom.java.test;

importjava.util.Scanner;

publicclassMainTest{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.println("請輸入用戶名:");
Stringusername=sc.nextLine();
System.out.println("請輸入密碼:");
Stringpassword=sc.nextLine();
booleanlimit=true;
intcount=0;
while(limit){
if("admin".equals(username)&&"1".equals(password)){
System.out.println("密碼正確!");
limit=false;
}elseif(3==count){
System.out.println("密碼錯誤次數超過限制,程序退出");
limit=false;
//return;
}else{
System.out.println("密碼錯誤,請重新輸入:");
password=sc.nextLine();
count++;
}
}

}

}

Ⅹ java模擬登陸(突破了驗證碼)怎麼拿驗證碼跟用戶名、密碼一起post登陸網站

沒有通用方法,網站稍微做點手腳你原來的方法就失效了。
===========================補充=======================
不是說安全設置問題,只要它把登錄網站頁面中的表單元素名字一改,你所有工作就白費了啊。對方很容易做的。你又得重頭來。
你非要試一下,有2種方法,一是直接在提交url後附加表單各元素,不過伺服器可能要檢查,不一定行。
第二你自己做個假頁面,與提交表單內容一致,你用js自己填元素值,自動提交。

熱點內容
冒險島電腦連接伺服器失敗 發布:2025-01-10 07:23:01 瀏覽:823
安卓開發要學什麼語言 發布:2025-01-10 07:21:30 瀏覽:20
紹興編程培訓 發布:2025-01-10 07:16:53 瀏覽:300
java介面和類 發布:2025-01-10 07:09:14 瀏覽:402
discuzforlinux安裝 發布:2025-01-10 07:09:10 瀏覽:228
招行支票密碼器口令是多少 發布:2025-01-10 06:55:27 瀏覽:353
好的解壓拓展實力怎麼樣 發布:2025-01-10 06:49:18 瀏覽:699
租伺服器會自帶公網ip么 發布:2025-01-10 06:49:17 瀏覽:347
mfc中ftp上傳與下載 發布:2025-01-10 06:47:06 瀏覽:349
逍遙安卓怎麼加速 發布:2025-01-10 06:45:50 瀏覽:396