Bir seçme kutusu ve otomatik seçenekleri belirleyin Curl fonksiyonu teslim

2 Cevap php

Ben bir acemi değilim ve her gün farklı şeyler denemek ve ben bir şey şaşırıp her zaman buraya gel.

http://tools.cisco.com/WWChannels/LOCATR/openBasicSearch.do ve ardından her ülke her ülkede her ortağın bir listesini yakalama ve veritabanına kaydetmek için her sayfada geçer: Ben bu linke gider curl ve php kullanarak bir komut dosyası yazmak istiyorum.

i komut ülkelere seçim kutusunu tek tek seçmek ve ülke sayfaya yönlendirme sayfası ... yapmak için ilk şey olan, biz sayfa desen eşleştirme kez adını, adresini saklamak için oyun geliyor nasıl hiçbir fikirleri var i yönetebilirsiniz veritabanı.

Problem is before we select any country url is::http://tools.cisco.com/WWChannels/LOCATR/BasicSearch.do and after we select country say 'india' url is:http://tools.cisco.com/WWChannels/LOCATR/performBasicSearch.do , there is no reference to any country selected.

I vardı Fikir HTML sayfası katediyor ve bir dizideki tüm ülkelere girmek ve sonra bir özyinelemeli işlev belirli bir ülke ile bir sayfayı çağırmak için yapmak ama bunun için biz özyinelemeli fonksiyon sağ her ülke için URL'ye farklı bir şey gerekiyor?

Lütfen yardım

2 Cevap

Your url is messed up, so I can't see the exact page you are talking about, however what is most likely happening is that when you change the country the website is making a POST request to the same page with a variable like country (although it may be something else) with the value of the country name/country id that you selected. If you View Source on the page you will be able to see the input field's name that is being passed on. Once you do that, while making your cURL request you can set the cuRL option of CURLOPT_POSTFIELDS, which reads like so:

Tam veri HTTP "POST" operasyonu sonrası için. Bir dosyayı göndermek için, @ ile bir dosya adı Önlerine ve tam yolunu kullanın. Bu da böyle bir urlencoded dize olarak geçirilebilir 'para1 = val1 & para2 = val2 & ...' veya değer olarak anahtar ve alan veri olarak alan adı ile bir dizi olarak.

Yani, akılda tutarak böyle bir şey yapardı:

$ch = curl_init('http://tools.cisco.com/WWChannels/LO...BasicSearch.do');
$ch = curl_setopt($ch, CURLOPT_POSTFIELDS, array('country' => 'India'));
$ch = curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$contents = curl_exec($ch);
curl_close($ch);

Dediğim gibi olsa da, ülke => bunun Hindistan parçası alan geçen olabilir ne gibi eğitimli bir tahmin. Siz kendiniz bulmak için HTML incelemek gerekir.

Otomasyon / kazıma, ben böyle SimpleBrowser gibi, sanal bir tarayıcı kullanmanızı tavsiye ederim. Bu SimpleTest parçası, ama sen kendi başına kullanabilirsiniz.