Ben (https) web sayfası formu gönderir ve sonuçlarını toplayan bir komut dosyası iki versiyonu yaptık. Bir sürüm php Snoopy.class kullanır ve diğer python urllib ve urllib2 kullanır. Şimdi ben bir java versiyonunu yapmak istiyorum.
Snoopy yazmak için php sürüm derece kolay hale getirir, ve bu benim kendi (OS X) makinede iyi çalışır. Pair.com web hosting hizmeti çalıştırdığınızda Ama, çok fazla bellek tahsis ve (kıvırmak yürütme sırasında) aynı noktada öldürüldü. Dreamhost.com web barındırma hizmeti iyi çalışır.
Yani bellek sorunu neden olabilir ne içine bakarken ben bir python sürümünü denemeye karar verdi ve urllib ve urllib2 bu çok kolay. Senaryo iyi çalışır. Yaklaşık 7 dakika içinde, yaklaşık 10MB bir dosyaya kaydetme, birkaç yüz formu gönderimler kullanarak, yaklaşık 70.000 veritabanı kayıtları alır.
Java ile bunu nasıl içine bakıyor, ben o olmayacak duygu olsun aynı walk-in-the-park o php ve python ile olduğu gibi. Java değil ölümlüler için form gönderme mi?
Ben sadece Apache HTTPClient kurmak için nasıl anlamaya çalışıyorum günün en geçirdim. Ben vazgeçtim önce olmasıdır. O dışarı sıralamak için daha fazla bir kaç gün daha beni alırsa, o zaman başka bir soru tabi olacaktır, sanırım.
HttpClient innovation.ch https desteklemiyor.
Bunu anlamaya en azından bir kaç gün beni alacak gibi ve WebClient görünüyor.
Yani, php ve python sürümleri bir esinti vardı. Bir java sürümü de birkaç basit çizgileri yapılabilir? Değilse Ben sadece bir acemi olduğum için, ben bir sonraki gün için bırakacağım. Eğer öyleyse, bir çeşit ruh ışığa doğru bana gelin misiniz?
Teşekkürler.
Karşılaştırma için, iki sürümlerinden kod temel hatları:
python sürümü
import urllib
import urllib2
submitVars['firstName'] = "John"
submitVars['lastName'] = "Doe"
submitUrl = "https URL of form action goes here"
referer = "URL of referring web page goes here"
submitVarsUrlencoded = urllib.urlencode(submitVars)
req = urllib2.Request(submitUrl, submitVarsUrlencoded)
req.add_header('Referer', referer)
response = urllib2.urlopen(req)
thePage = response.read()
php versiyonu
require('Snoopy.class.php');
$snoopy = new Snoopy;
$submit_vars["first_name"] = "John";
$submit_vars["last_name"] = "Doe";
$submit_url = "https URL of form action goes here";
$snoopy->referer = "URL of referring web page goes here";
$snoopy->submit($submit_url,$submit_vars);
$the_page = $snoopy->results;