代码之家  ›  专栏  ›  技术社区  ›  adnanoswd

如何从asp本地保存下载文件。使用斜槽的网形

  •  0
  • adnanoswd  · 技术社区  · 7 年前

    • 登录

    此应用程序( http://portal.agrinet.ie/

    我能够成功登录,并通过代码点击表单上的提交按钮,但它当前仅返回以下结果:

    Symfony\Component\DomCrawler\Crawler Object
    (
        [uri:protected] => http://portal.agrinet.ie/Exports.aspx
        [defaultNamespacePrefix:Symfony\Component\DomCrawler\Crawler:private] => default
        [namespaces:Symfony\Component\DomCrawler\Crawler:private] => Array
            (
            )
    
        [baseHref:Symfony\Component\DomCrawler\Crawler:private] => http://portal.agrinet.ie/Exports.aspx
        [document:Symfony\Component\DomCrawler\Crawler:private] => 
        [nodes:Symfony\Component\DomCrawler\Crawler:private] => Array
            (
            )
    
        [isHtml:Symfony\Component\DomCrawler\Crawler:private] => 1
    )

    这是php代码:

    require 'vendor/autoload.php';
    use Goutte\Client;
    
    $client = new Client();
    echo '<pre>';
    $crawler = $client->request('GET', 'http://portal.agrinet.ie/Default.aspx');
    $form = $crawler->selectButton('ctl00$MainContent$btnLogin')->form();
    
    $crawler = $client->submit($form, array('ctl00$MainContent$txtUsername' => 'XXXX', 'ctl00$MainContent$txtPassword' => 'XXXXX'));
      
    $id = $crawler->filter("#ctl00_mnuMainn26 a")->link();
    $exportPage = $client->click($id);
    $downloadBut = $exportPage->selectButton('ctl00$MainContent$btnDownload')->form();
    $file = $client->submit($downloadBut);
    print_r($file);

    我的问题是,在使用Gout单击“提交”按钮后,如何在本地保存文件。

    1 回复  |  直到 7 年前
        1
  •  0
  •   adnanoswd    7 年前

    解决方案:

    $form=$exportPage->选择按钮('ctl00$MainContent$btnDownload')->form();

    $client->提交($form);

    getContent()提供了文件的所有内容,我将这些内容保存在另一个文件中,该文件是我在本地机器上创建的。