2012-11-06 4 views

답변

5

셀레늄을 사용해보십시오. Selenium은 웹 브라우저 자동화에 적합합니다.

http://seleniumhq.org/

또한 자바 순수을 지원한다. 그러나뿐만 아니라.

는 사용자 정의 방법에 관해서, 볼 ...

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(); 

소스 (Java - sending HTTP parameters via POST method easily)

+0

웹 페이지로 데이터를 전달할 수 있습니까? 즉, 게시 메소드를 사용하여 데이터를 전달할 수 있습니까? –

0

당신은 아파치 HttpClient를 사용할 수 있습니다 -의 예를 참조하십시오

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

이렇게하면 대상 페이지로 직접 채워진 양식을 직접 제출하고 결과를 얻을 수 있습니다.

호출 후, 당신이 잡아와 응답 세션 쿠키를 저장하고 당신이

1

당신이 경우 웹 페이지 "로그온"체류 "방문"할 다음 페이지를 다시 제출해야 그 기억

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

웹 페이지가 POST의 상황이 조금 더 복잡하게 사용하는 경우 (즉, URL)에서 데이터를 수용 할 수있는 GET 방식을 사용하여, 당신이 통과 할 데이터를 제공하는 웹 페이지에 연결 : 헤더에있는 모든 데이터로 적절한 HTML 요청을 위조해야합니다 (POST 메소드가 요구하는대로)

-1

입력을 HTML에 전달하는 방법을 보여 드리고자합니다. 나는 보통 파이썬을 사용하여 데이터를 입력해야하는 페이지로 요청을 보낸다. 그렇게하기 전에 웹 쿠키를 제공해야하는지 여부를 알아야합니다. 그렇다면 쿠키를 복사하십시오. 그렇지 않으면 로그인해야하는 경우에만 확인하십시오. 완료되면 스크립트를 사용하여 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() 
관련 문제