POST 데이터로 Firefox에 책갈피를 저장하는 방법은 무엇입니까? 소포 추적 페이지

GET을 사용하여 액세스 할 수없는 페이지를 Firefox 책갈피로 저장하고 싶습니다. 페이지를 검색하는 유일한 방법은 일부 POST 데이터를 보내는 것입니다.

예를 들어, Chronopost 소포 추적 페이지 를 책갈피로 지정 하여 소포 번호를 입력 할 때 POST 만 허용합니다.

누구든지 Firefox 확장 기능이나 다른 기술을 알고 있습니까?



답변

북마크를 사용하십시오. 예를 들어 http://userjs.up.seesaa.net/js/bookmarklet.html 의 도구를 사용 하여 다음 코드를 사용하여 책갈피를 작성할 수 있습니다.

(function(){
  var post_to_url = function(path, params, method) {
    var openWindow = window.open(path);
    method = method || "post";
    var form = openWindow.document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);
    for(var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);
        form.appendChild(hiddenField);
    }
    openWindow.document.body.appendChild(form);
    form.submit();
  };
post_to_url(
  'http://www.chronopost.fr/transport-express/livraison-colis/engineName/search/accueil/suivi',
  {search:'test'});
})()

그런 다음 생성 된 북마크릿 링크를 즐겨 찾는 브라우저에서 북마크로 사용하십시오. 클릭하면 창이 열리고 매개 변수가 포함 된 양식을 만든 다음 {search:'test'}해당 양식을 제출합니다.

URL과 매개 변수를 변경하려면 마지막 호출을 조정하십시오 post_to_url.

이 전략은 책갈피를 한 번 작성하고 여러 번 사용해야하는 경우 유용 할 수 있습니다. 그러나 정기적으로 새 책갈피를 작성해야하는 경우 새 책갈피를 작성하기가 쉽지 않습니다.


답변

@StriplingWarrior의 답변을 사용하여 동일한 창에서 책갈피를 열어 일반 책갈피와 동일한 동작을 갖도록 스크립트를 약간 변경했습니다.

(function(){
  var post_to_url = function(path, params, method) {
    method = method || "post";
    var form = window.document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);
    for(var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);
        form.appendChild(hiddenField);
    }
    window.document.body.appendChild(form);
    form.submit();
  };
post_to_url(
  'http://192.168.0.1/goform/login',
  {loginPassword:'password',loginUsername:'admin'});
})()

http://userjs.up.seesaa.net/js/bookmarklet.html 의 도구를 사용하면 코드를 복사하여 붙여 넣고 URL과 매개 변수를 변경하고 생성 된 bookmmarklet을 책갈피에 추가 할 수 있습니다. 예를 들어 라우터 제어판에 액세스하는 데 매우 유용합니다.


답변

이 질문에 대한 답변 덕분에 Firefox 용이 멋진 부가 기능을 발견했습니다. Bookmark POST . 좋은 문서가 없지만 시작해야합니다.

이 책갈피를 사용하면 책갈피가 지정된 POST 요청에 대한 쉬운 4 단계를 수행 할 수 있습니다 (자바 스크립트 필요 없음)

  1. 북마크하려는 양식이있는 페이지를 열고 “일반적인”방식으로 양식을 작성하십시오. 아직 제출하지 마십시오.
  2. 웹 개발자 도구-> 네트워크 분석을여십시오.
  3. 양식을 제출하십시오. 제출은 네트워크 분석에 나타납니다. “편집 후 다시 전송”을 선택하고 “요청-본문”을 복사 할 수 있습니다.
  4. 양식 페이지에 책갈피를 작성 POSTDATA={YOUR_REQUEST_BODY_HERE}하고 책갈피 설명으로 문자열 을 추가하십시오 .

나에게 이것은 자바 스크립트를 사용하는 것보다 쉽습니다.


답변

가장 간단한 접근법 :

채워진 양식 및 자동 업로드가 포함 된 책갈피

javascript:'<html><body onload="document.forms[0].submit()"><form action="http://www.example.com" method="POST"><input name="whatever" value="whatever" type="hidden"></form></body></html>'

단점 : Chromium은 현재 웹 페이지 URL을 HTTP 참조 자로 보냅니다. (Firefox와 IE는 그렇지 않습니다.)

추천인이 중요한 이유 개인 정보 보호 문제를 고려하지 않고 일부 웹 사이트는 POST에서 참조자를 확인하여 숨겨진 iframe 양식 게시물로 작성된 악의적 인 요청으로부터 자신을 보호합니다.

대체 접근법 :

여기설명되어 있지만 약간 더 읽기 쉽지만 어딘가에 HTML 파일이 필요합니다. 사용법은 다음과 같습니다.

file:///C:/getToPost?name1=value1&name2=value2#http://url.com/service

로컬로 저장된 파일을 통해 작업하는 경우 참조가 전송 되지 않습니다 . 크롬에서도.
파일이 원격 웹 사이트에 배치되면 참조자가 전송되고 웹 사이트 호스트 및 원래 쿼리 문자열이 포함됩니다.


답변

frmget 북마크의 HTTP 메소드에 무관심 많은 사이트에 대한 작품 : 양식을 제출, 북마크를 적용 결과 페이지를 즐겨 찾기에 추가.

POST가 필요한 사이트의 경우이 확장 기능이 있으며 이는 사용자 친화적이지 않습니다. frmget과 결합하여 frmget을 적용하고, 양식을 제출하고, 페이지를 책갈피에 추가하고, GET 매개 변수를 접 두부로 설명 필드에 복사하십시오 POSTDATA=.


답변

HAR 파일을 매개 변수로 허용하기 위해 @StriplingWarrior가 제공하는 스크립트를 약간 수정했습니다. HAR 파일은 Chrome 개발자 도구 (Ctrl + Shift + J)에서 저장할 수 있습니다.

먼저 양식 데이터가 이미 게시 된 페이지를 연 다음 네트워크 탭에서 첫 번째 문서를 마우스 오른쪽 단추로 클릭하고 “항목을 HAR로 복사”를 선택하십시오. 그런 다음 아래 스크립트에 내용을 붙여 넣으십시오.

<html><body><script>
function dopost() {
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("action", har["request"]["url"]);
var params = har["request"]["postData"]["params"];
for(var e in params) {
    var hiddenField = document.createElement("input");
    hiddenField.setAttribute("type", "hidden");
    hiddenField.setAttribute("name", params[e]["name"]);
    hiddenField.setAttribute("value", params[e]["value"]);
    form.appendChild(hiddenField);
}
document.body.appendChild(form);
form.submit();
}
window.onload=dopost;

var har=
//-----PASTE HERE------

</script>
</body></html>

이것을 html 파일로 저장하면 게시 된 양식을 열어야합니다. 사이트에서 viewstate를 사용하거나 참조자를 확인하면 작동하지 않습니다.


답변

FirefoxChrome 에서 사용 가능한 iMacro 플러그인을 사용하십시오 .