Hejsa udviklere.
Jeg står og har brug for at logge ind på en hjemmeside, for at kunne få fat i noget materiale.
Programmet er i Java, og skal kunne logge ind selv.
Jeg har koden til at læse indholdet og alt det, men for at få indholdet, skal jeg være logget ind på hjemmesiden.
Jeg har prøvet at lave en POST request til hjemmesiden, men den blev afvist.
Så jeg tænkte, "hvis nu man skrev i login-fæltet og klikkede login, fra Java, så kunne den måske logge ind."
Så jeg skal altså bruge en kode, som gør at jeg kan skrive i en tekstboks og klikke på en knap, på en hjemmeside, fra en Java Application.
Jeg tror jeg ved hvordan man gør i C# (.NET Framework 4), men funktionen findes ikke i Java.
I C# ville jeg skabe en WebBrowser, loade hjemmesiden, finde tekstboksen og skrive i den. (med kode self.)
- using System;
- using System.Drawing;
- using System.Windows.Forms;
-
- namespace Login
- {
- public partial class Form1 : Form
- {
- WebBrowser wb;
- HtmlElement txt1 = null;
- HtmlElement txt2 = null;
- HtmlElement btn = null;
- Timer t = new Timer();
-
- string Username = "username";
- string Password = "password";
-
- public Form1()
- {
- wb = new WebBrowser();
- SuspendLayout();
-
- wb.Dock = DockStyle.Fill;
- wb.Location = new Point(0, 0);
- wb.Name = "wb";
-
- AutoScaleDimensions = new SizeF(6F, 13F);
- AutoScaleMode = AutoScaleMode.Font;
- ClientSize = new Size(800, 600);
- Controls.Add(this.wb);
- Name = "LoginForm";
- ResumeLayout(false);
-
- wb.Url = new Uri("http://www.eksempel.dk/login.php");
- t.Interval = 500;
- t.Tick += new EventHandler(t_Tick);
- t.Start();
- }
-
- private void t_Tick(object sender, EventArgs e)
- {
- try
- {
- if (txt1 == null || txt2 == null || btn == null)
- {
- txt1 = wb.Document.All["username"];
- txt2 = wb.Document.All["password"];
- btn = wb.Document.All["signin"];
- }
- if (txt1 == null || txt2 == null || btn == null) return;
-
- txt1.InnerText = Username;
- txt2.InnerText = Password;
- btn.InvokeMember("click");
- t.Dispose();
- }
- catch { }
- }
- }
- }
TL;DR: Jeg skal bruge en kode til at skrive i en textbox og klikke på en knap, på en hjemmeside, fra en Java Application.
Indlæg senest redigeret d. 26.03.2012 16:36 af Bruger #16191