簡體   English   中英

PhantomJs,發送POST請求時獲取查詢參數

[英]PhantomJs, get query parameters when a POST request is sent

我正在使用onResourceRequested來偵聽請求的每個資源。 當使用GET方法請求資源時,我可以從url獲取查詢參數。

但是,當它是POST請求時,如何檢索與請求一起發送的參數(例如表單數據)?

requestData對象具有以下鍵: headersidmethodtimeurl

page.onResourceRequested = function (requestData, networkRequest) {

        if(requestData.method == "POST")
            console.log('Receive ' + JSON.stringify(requestData, undefined, 4));
};
Receive {
    "headers": [
        {
            "name": "Origin",
            "value": "https://mastec.taleo.net"
        },
        {
            "name": "User-Agent",
            "value": "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"
        },
        {
            "name": "Content-Type",
            "value": "application/x-www-form-urlencoded"
        },
        {
            "name": "Referer",
            "value": "https://example.com?lang=en"
        },
        {
            "name": "Accept",
            "value": "*/*"
        },
        {
            "name": "Content-Length",
            "value": "20161"
        }
    ],
    "id": 18,
    "method": "POST",
    "time": "2015-07-16T14:03:54.838Z",
    "url": "https://example3.com"
}

通常,您不能。 PhantomJS沒有公開獲取任何請求內容的方法。

如果要查看從舊HTML(非AJAX版本)表單提交生成的請求,則需要在提交之前先刮掉表單字段以獲取內容。

如果是AJAXy,則可以嘗試三種策略。 我已經在我的回答中描述了它們。 通用解決方案是編寫XHR對象代理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM