2012-07-26 4 views
1

POST 매개 변수가 두 개인 URL을 검색하거나 열 수있는 방법입니다. 내 유일한 옵션은 이제 WebBrowser 컨트롤에서 폼을 만든 다음 무서운 버튼을 자동으로 클릭하는 작은 exe를 작성하는 것입니다. 내가 할 수있는 더 좋은 방법이 있니?POST 매개 변수가 포함 된 URL 열기

답변

0

나는 매개 변수를 URL로 전달하기 위해 쿼리 문자열과 함께 표준 .html 파일을 열 수 있도록이 작업을 수행했습니다.

function postFromQueryString(url) { 
    // grab params from query string into KVP array 
    var postParams = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
    for(var i = 0; i < hashes.length; i++) { 
     hash = hashes[i].split('='); 
     postParams.push(hash[0]); 
     postParams[hash[0]] = hash[1]; 
    } 
    if(postParams.length === 0) { 
     alert('No parameter was passed'); 
     window.close(); 
     return; 
    } 
    // create a form 
    var formToPost = document.createElement("form"); 
    formToPost.method="post"; 
    formToPost.action = url; 
    // add params to form 
    for (var k in postParams) { 
     var postInput = document.createElement("input"); 
     postInput.setAttribute("name", k); 
     postInput.setAttribute("value", postParams[k]); 
     formToPost.appendChild(postInput); 
    } 
    document.body.appendChild(formToPost); 
    formToPost.submit(); 
    document.body.removeChild(formToPost); 
} 

에 onLoad를 호출하려면 :

(function() { 
    // build dynamic form and post 
    postFromQueryString('http://yourUrlToPostTo.aspx'); 
})(); 
0

IE를 구동 할 수있는 웹 브라우저 자동화 도구가 있습니다 (예 : Selenium). Selenium은 스크립팅이 가능하며 주요 브라우저 용 드라이버가 있습니다. 나는 자바 코드에 의해 구동되는 이런 종류의 셀레늄만을 사용했다. alternatives이 있습니다.

주어진 프로그램을 열고 GUI 요소를 조작 할 수있는 Windows GUI 자동화 도구 (예 : AutoIT)도 있습니다.

+0

내가 따라 확실하지 않다. 나는 매개 변수로 iexplore를 시작하기 위해 cURL을 사용할 수 있다고 생각하지 않습니다. – Echilon

+0

아. 죄송합니다 질문을 오해했습니다 – pb2q

2

는 다음과 같은 자바 스크립트와 HTML 파일을 만들 수 있습니다

<script type="text/javascript"> 
<!-- The function below does a post without requiring a form or the click of a button --> 
function postwith (to,p) { 
    var myForm = document.createElement("form"); 
    myForm.method="post" ; 
    myForm.action = to ; 
    for (var k in p) { 
     var myInput = document.createElement("input") ; 
     myInput.setAttribute("name", k) ; 
     myInput.setAttribute("value", p[k]); 
     myForm.appendChild(myInput) ; 
    } 
    document.body.appendChild(myForm) ; 
    myForm.submit() ; 
    document.body.removeChild(myForm) ; 
} 
</script> 

예 사용법 :

<script type="text/javascript"> 
    function delconfirm(id){ 
     if(confirm('Are you sure?')) 
     { 
      postwith('http://somesite.com/webpagetorecievepost.php',{KEY:VALUE,KEY:'STRING VALUE'}); 
     } 
    } 
    </script> 

당신은 많은 KEY 가질 ​​수 있습니다 당신이 원하는대로 VALUE쌍합니다.

일단이 html 파일을 가지고 있으면 인터넷 익스플로러에서 수정할 수 있습니다.

+0

이것은 내가 희망입니다. 완전히 과정을 수행하지는 않지만 내일 더 조사 할 것입니다. – Echilon

+0

나는 당신이하려고하는 것에 대해 궁금합니다. 좀 더 자세한 정보는 없습니까? – Sal

관련 문제