簡體   English   中英

動態表單動作-如何使用simple_html_dom來捕捉

[英]Dynamic form action - how to catch that with simple_html_dom

http://www.cipo.ic.gc.ca/app/opic-cipo/trdmrks/srch/tmSrch.do?lang=eng有一個頁面

搜索時,它會生成一個自定義URL,例如, http://www.cipo.ic.gc.ca/app/opic-cipo/trdmrks/srch/bldSrch.do ; jsessionid=00017eoN13xc3cyM5WYxwkO2v3I:-118SGKV? lang = eng&textField1 = trademark&selectField1 = tmlookup_ext&submitButton = Search&andOr1 = and&textField2 = consulting&selectField2 = services&andOr2 = and&textField3 =&selectField3 = tmlookup_ext&andOr3 = and&textField4 =&selectField4 = tlookup_select&Date&Stat ==&Stat ==&Stat = 3&= 4&= 4 15&selectMaxDoc = 500&selectDocsPerPage = 10

除非我有該jsessionid編號,否則無法使用simple_html_dom使用自定義形式來搜尋結果。

是否有獲取該會話ID的明智方法? 有了會話ID后,我就可以生成搜索URL,並以一種非常有意義的方式來搜索結果。

謝謝!

進入搜索頁面時,您將獲得jsessionid作為cookie。 您的蜘蛛還必須在發送搜索請求之前獲取此cookie。

這里有一個例子,如何做到這一點。 該示例將使用PEAR存儲庫中的HTTP_Request2包。

require_once 'HTTP/Request2.php';

$url = 'http://www.cipo.ic.gc.ca/app/opic-cipo/trdmrks/srch/tmSrch.do?lang=eng';
$request = new HTTP_Request2($url);
$response = $request->send();
$cookies = $response->getCookies();

foreach($cookies as $cookie) {
    if($cookie['name'] === 'JSESSIONID') {
        $jsessionid = $cookie['value'];
        break;
    }   
}

// play around with it
echo $jsessionid;

暫無
暫無

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

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