3

自動化されたスクリプトを使用して PHP Web ページに入力を渡す方法、つまり、スクリプトを使用してテキスト フィールドに引数を渡す方法を知りたいだけです。Webページのユーザー名とパスワードフィールドに入力を渡してから送信ボタンを押すようなものです(スクリプトでも)。

好ましい言語: JAVA

4

4 に答える 4

6

セレンを試してみてください。Selenium は Web ブラウザの自動化に優れています。

http://seleniumhq.org/

また、Java を純粋にサポートしています。しかしそれだけではありません。

カスタム メソッドについては、こちらを参照してください。

String urlParameters = "param1=a&param2=b&param3=c";
String request = "http://example.com/index.php";
URL url = new URL(request); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection();           
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setInstanceFollowRedirects(false); 
connection.setRequestMethod("POST"); 
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); 
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", "" + Integer.toString(urlParameters.getBytes().length));
connection.setUseCaches (false);

DataOutputStream wr = new DataOutputStream(connection.getOutputStream ());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
connection.disconnect();

source ( Java - POST メソッドで簡単に HTTP パラメータを送信)

于 2012-11-06T22:31:57.227 に答える
1

Web ページが GET メソッドを使用して (つまり URL から) データを受け入れる場合は、渡したいデータを提供する Web ページに接続するだけです。

http://www.mysite.com/mypage.html?data0=data0,data1=data1

Web ページが POST を使用している場合、状況はもう少し複雑になります: ヘッダーにすべてのデータを含む適切な HTML リクエストを作成する必要があります (POST メソッドが必要とするため)。

于 2012-11-06T22:36:07.253 に答える
0

Apache HTTPClient を使用できます。次の例を参照してください。

http://hc.apache.org/httpclient-3.x/methods/post.html

これにより、完全に入力されたフォームを宛先ページに直接送信して結果を取得することをシミュレートできます。

呼び出しの後、応答でセッション Cookie を取得して保存し、「ログオン」したままにするために「アクセス」したい次のページに再送信する必要があることに注意してください。

于 2012-11-06T22:32:01.423 に答える
-1

入力を HTML に渡す方法を示したいと思います。私は通常、Python を使用して、データを入力する必要があるページにリクエストを送信します。その前に、Web Cookie を提供する必要があるかどうかを確認する必要があります。必要な場合は Cookie をコピーし、ログインする必要がある場合はそれを確認してください。それが完了したら、スクリプトを使用してデータを POST または GET するために使用するため、入力領域のフィールド名を知る必要があります。使用例はこちら。

import urllib
import urllib2
import string
headers = {'Cookie': 'You cookies if you need'}
values = {'form_name':'sample text', 'submit':''}
data = urllib.urlencode(values)
req = urllib2.Request('website where you making request to',data,headers)

opener1 = urllib2.build_opener()


page1=opener1.open(req)
#OPTIONAL
htmlfile=page1.read()

fout = open('MYHTMLFILE.html', "wb")
fout.write(htmlfile)
fout.close()
于 2012-11-09T22:02:20.173 に答える