Web POST Problem - Help

MihiCherub

Well-known member
  • Sep 14, 2009
    18,849
    1
    9,594
    113
    Gampaha
    මේකයි සීන් එක.. තේරෙයිද දන්නෙ නෑ මම කියන එක. මට මේක හරියට කියා ගන්නත් බෑ. මේ සයිට් එකෙන් මට search කරන්න ඕනෙ. ඒත් රිසාල්ට් එක එන්නෙත් ඒ link එකෙන්මනෙ. මම bot එකක් හරහා execute කරන්න යන්නෙ. ඒකට පැරා වලින් යවන්න ඕනෙනෙ ඉල්ලන details. ඒත් මම යැව්වට result page එක return වෙන්නෙ නෑ. return වෙන්නෙ current page එකමයි. ඒ කියන්නෙ para වල අවුලක්. අන්න ඒ para තමා ඕනෙ. උදවු ඉල්ලන සයිට් එක මේකයි

    --------------------------------------------------------------------------
    උදා කියන්නම්..
    මේ සයිට් එකත් ඕක වගේමයි. ඒත් ඕකෙන්,
    Key = data[Search][keyword], Value = "aa"
    key = data[Search][vendor_category][], Value = "stores"

    ඔන්න ඔය දෙක එක්ක post කරපු ගමන් result page එක ලස්සනට එනව. ඒත් මේකෙ එහෙම එන්නෙ නෑ. ඒකයි අවුල. මට දැන ගන්න ඕනෙ මේ සයිට් එක වගේම key values වලින් උඩ තියෙන මට ඕන සයිට් එකෙත් post කරල ගන්න පුලුවන්ද එහෙම ගන්න පුලුවන් නම් key values මොනාද කියලයි.

     

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,849
    1
    9,594
    113
    Gampaha
    un e site eke ganne get method eken newyi machn. ekai sceen eka.

    me site eke un unge search form eka send karanne get method eken. so eka url eke apply wenwa. e nisa uba ekata parameters daala ube application eken call karaoth wada karanwa thama. eth arake thiyenne POST methd ekak. ekedi url eka haraha data yanne na.

    http://www.eatwellguide.org/search/...&zip_code=&distance=20&city=&state_province=&
    මගේ Application එකෙන් get,post දෙකම call කරන්න පුලුවන්. මම මේකෙදි post එකකින් තමා call කරන්න හදන්නෙ. මේ url එක බලන්න. මේකෙන් result එක පෙන්නනව. ඒකියන්නෙ link එකෙන් data යනව ඇති නේද? හැබැයි ඒව කියවන්න බැරි එකයි අවුල. :(

    http://gassaferegister.co.uk/regist...+SSxJ2cGqCau6ZPTB0qohH7rfkPKxvtRbqo&returnurl
     
  • Oct 16, 2013
    3,326
    1,885
    113
    Nugegoda
    oyage app ekata post and get use karanna puluwan unata oya access karanna hadana site eke post method ekanam use wenne oyata eeka kala nohakie, get nam puluwan but ee puluwan wenneth get url ek non encrypted ekak nam pamani. :yes:
     

    shenic

    Member
    May 9, 2013
    13,213
    1,290
    0
    Bermuda ∆
    uba kiyana site eke POST method eken neda machan use karanne. uba POST method eken yawana data GET ekakin neda ganna try karanne? nadda? :oo: :)
     

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,849
    1
    9,594
    113
    Gampaha
    uba kiyana site eke POST method eken neda machan use karanne. uba POST method eken yawana data GET ekakin neda ganna try karanne? nadda? :oo: :)
    meka machan JAVA library ekak..
    get nam - connect(link).get();
    post nam - connect(link).data(key,value).data(key,value).post();

    data(key,value) ona tharam danna puluwan.. othana get post neme result page eka ena widiyakui mata one.. :(
    10+
     

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,849
    1
    9,594
    113
    Gampaha

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,849
    1
    9,594
    113
    Gampaha
    Bot kiwwe uba curl da use karanne?

    Oka echchara sarthaka na samahara sites User-Agent check karala curl requests block karanna puluwan .. API use karapan..
    eke API nane.. na ban jsoup mama user agent set karanawa. ehema awlak yanne na. okkoma hodin wenawa. me site url eka hada ganna bari ekai thiyenne.
     

    shenic

    Member
    May 9, 2013
    13,213
    1,290
    0
    Bermuda ∆
    meka machan JAVA library ekak..
    get nam - connect(link).get();
    post nam - connect(link).data(key,value).data(key,value).post();

    data(key,value) ona tharam danna puluwan.. othana get post neme result page eka ena widiyakui mata one.. :(
    10+

    mage ammo.. JAVA nodani! :no:
    very sorry for the answer...:no:
     

    K_ZONE

    Well-known member
  • May 28, 2009
    5,150
    4,041
    113
    invoke db "Injected Memory"

    සොන්ටලේ, උබේ ඔය JSOAP සබන් කැල්ල මම ගගට විසිකරනවා දැන් නම්... GRRRRR :angry:

    ඔය ෆෝම් එකේ අපේ Data Submit වෙන්නෙ නම් POST එකෙන්, අර මම කලින් හදලා දීපු ප්‍රොජෙක්ට් එකේ විදියටම තමයි (http://www.eatwellguide.org එකේ වගේ)

    PHP:
    Document doc = Jsoup.connect("http://gassaferegister.co.uk/registersearch/findbusiness.aspx")
            .data("__LASTFOCUS", "")
            .data("__EVENTTARGET", "")
            .data("__EVENTARGUMENT", "")
            .data("__VIEWSTATE", "")
            .data("__SCROLLPOSITIONX", "0")
            .data("__SCROLLPOSITIONY", "0")
            .data("ctl00$ctl00$m_searchBox", "Search site")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$ddGasType2", "Natural Gas")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$ddWorkType", "Gas Cooker")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$txtPostcodeStandard", args[0])
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$btnFindStandard", "Mi")
            .data("data[Search][city]", "Find")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$hidPostcodeStandard", "")
    
    		  // user agent set karapan nathnam Server ekata yanna dena ekak na
    		  .userAgent("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36")
    		  .post();
    		  System.out.println(doc); // will print html source of Result page

    අපි සාමාන්යෙන් GET වලදි වගේ වෙනම Page එකකට Submit කරන්නෙ නැ POST වලදි, Document එක මුල POST වෙලා බඩු ඇවිත් තියෙනවා නම් Results පෙන්නන්නයි, POST Empty නම් Form එක පෙන්නන්නයි තමයි හදන්නෙ. (Php වල is_set)

    PHP:
    if (isset($_POST["search"]) && !empty($_POST["search"])) {
        //Print Results    
    }else{  
        //Print Form
    }

    මෙන්න බඩු. ලබ්බෙ ජාවා මට නම් පේන්න බැ, උබ හින්දා තමයි Install කරෙත් :angry::angry::oo:

    PHP:
    import java.io.IOException;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
     
    public class සොන්නයා{
    	public static void main(String[] args) throws IOException {
    
    		Document doc = Jsoup.connect("http://gassaferegister.co.uk/registersearch/findbusiness.aspx")
            .data("__LASTFOCUS", "")
            .data("__EVENTTARGET", "")
            .data("__EVENTARGUMENT", "")
            .data("__VIEWSTATE", "")
            .data("__SCROLLPOSITIONX", "0")
            .data("__SCROLLPOSITIONY", "0")
            .data("ctl00$ctl00$m_searchBox", "Search site")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$ddGasType2", "Natural Gas")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$ddWorkType", "Gas Cooker")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$txtPostcodeStandard", "kzone") //< == gaanige nama gahapan :P
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$btnFindStandard", "Mi")
            .data("data[Search][city]", "Find")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$hidPostcodeStandard", "")
    
    		  // user agent set karapan nathnam Server ekata yanna dena ekak na
    		  .userAgent("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36")
    		  .post();
            
    		//print all search Results on page
    		Elements ele = doc.select("ul li input");
    		for(Element l: ele){
    			System.out.println("Result: " +.attr("value"));
    		}
    	}
    }

    කලින් හදලා දුන්න වැඩ වල ගාන දුන්නෙත් නැ තාම, අපි හදලා දෙනවා මූ හම්බ කරනවා :baffled:

    මේ අන්තිම එක :rofl::angry::P:oo::oo::baffled::dull::frown::no:

    හරි ගියේ නැත්නම් අඩාගෙන වරෙන් හදලා දෙන්නම් :P:P

    PHP:
    E:\Java>path C:\Program Files\Java\jdk1.8.0_05\bin
    
    E:\Java>javac "-cp" ";org.jsoup.jar" "සොන්නයා.java"
    
    E:\Java>java "-cp" ";org.jsoup.jar" "සොන්නයා"
    Result: Cantray, Inverness, Inverness-Shire
    
    Result: Centre 21, Warrington, Cheshire
    
    
    E:\Java>

    අර දෙනවා කිව්ව බෝතලේත් තාම හම්බ උනේ නැ :(

     
    Last edited:

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,849
    1
    9,594
    113
    Gampaha

    සොන්ටලේ, උබේ ඔය JSOAP සබන් කැල්ල මම ගගට විසිකරනවා දැන් නම්... GRRRRR :angry:

    ඔය ෆෝම් එකේ අපේ Data Submit වෙන්නෙ නම් POST එකෙන්, අර මම කලින් හදලා දීපු ප්‍රොජෙක්ට් එකේ විදියටම තමයි (http://www.eatwellguide.org එකේ වගේ)

    PHP:
    Document doc = Jsoup.connect("http://gassaferegister.co.uk/registersearch/findbusiness.aspx")
            .data("__LASTFOCUS", "")
            .data("__EVENTTARGET", "")
            .data("__EVENTARGUMENT", "")
            .data("__VIEWSTATE", "")
            .data("__SCROLLPOSITIONX", "0")
            .data("__SCROLLPOSITIONY", "0")
            .data("ctl00$ctl00$m_searchBox", "Search site")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$ddGasType2", "Natural Gas")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$ddWorkType", "Gas Cooker")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$txtPostcodeStandard", args[0])
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$btnFindStandard", "Mi")
            .data("data[Search][city]", "Find")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$hidPostcodeStandard", "")
    
              // user agent set karapan nathnam Server ekata yanna dena ekak na
              .userAgent("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36")
              .post();
              System.out.println(doc); // will print html source of Result page
    අපි සාමාන්යෙන් GET වලදි වගේ වෙනම Page එකකට Submit කරන්නෙ නැ POST වලදි, Document එක මුල POST වෙලා බඩු ඇවිත් තියෙනවා නම් Results පෙන්නන්නයි, POST Empty නම් Form එක පෙන්නන්නයි තමයි හදන්නෙ. (Php වල is_set)

    PHP:
    if (isset($_POST["search"]) && !empty($_POST["search"])) {
        //Print Results    
    }else{  
        //Print Form
    }
    මෙන්න බඩු. ලබ්බෙ ජාවා මට නම් පේන්න බැ, උබ හින්දා තමයි Install කරෙත් :angry::angry::oo:

    PHP:
    import java.io.IOException;
    import org.jsoup.Jsoup;
    import org.jsoup.nodes.Document;
    import org.jsoup.nodes.Element;
    import org.jsoup.select.Elements;
     
    public class සොන්නයා{
        public static void main(String[] args) throws IOException {
    
            Document doc = Jsoup.connect("http://gassaferegister.co.uk/registersearch/findbusiness.aspx")
            .data("__LASTFOCUS", "")
            .data("__EVENTTARGET", "")
            .data("__EVENTARGUMENT", "")
            .data("__VIEWSTATE", "")
            .data("__SCROLLPOSITIONX", "0")
            .data("__SCROLLPOSITIONY", "0")
            .data("ctl00$ctl00$m_searchBox", "Search site")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$ddGasType2", "Natural Gas")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$ddWorkType", "Gas Cooker")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$txtPostcodeStandard", "kzone") //< == gaanige nama gahapan :P
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$btnFindStandard", "Mi")
            .data("data[Search][city]", "Find")
            .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHeader$hidPostcodeStandard", "")
    
              // user agent set karapan nathnam Server ekata yanna dena ekak na
              .userAgent("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36")
              .post();
            
            //print all search Results on page
            Elements ele = doc.select("ul li input");
            for(Element l: ele){
                System.out.println("Result: " +.attr("value"));
            }
        }
    }
    කලින් හදලා දුන්න වැඩ වල ගාන දුන්නෙත් නැ තාම, අපි හදලා දෙනවා මූ හම්බ කරනවා :baffled:

    මේ අන්තිම එක :rofl::angry::P:oo::oo::baffled::dull::frown::no:

    හරි ගියේ නැත්නම් අඩාගෙන වරෙන් හදලා දෙන්නම් :P:P

    PHP:
    E:\Java>path C:\Program Files\Java\jdk1.8.0_05\bin
    
    E:\Java>javac "-cp" ";org.jsoup.jar" "සොන්නයා.java"
    
    E:\Java>java "-cp" ";org.jsoup.jar" "සොන්නයා"
    Result: Cantray, Inverness, Inverness-Shire
    
    Result: Centre 21, Warrington, Cheshire
    
    
    E:\Java>
    අර දෙනවා කිව්ව බෝතලේත් තාම හම්බ උනේ නැ :(

    අඩේ උබ නම් දෙයියෙක්.. පට්ට බන්.. ඔව් මම ඒ විදියට live http headers බලාගෙන para හොයාගත්ත. ඒත් මෙන්න මේක
    live http headers වලින් අහු උනේ නෑනෙ. data("ctl00$ctl00$ContentPlaceHolder1$phSearchHead er$hidPostcodeStandard", "")
    මේකෙ
    .data("ctl00$ctl00$ContentPlaceHolder1$phSearchHea der$btnFindStandard", "Mi")
    value එකයි දැන්මෙ වැරදියට. අපෝ මම SESSION_SECURITYTOKEN, URLEncoder.encode ඔක්කොම දාල විකාරයක් කරන් උන්නෙ. client ට මල පැනල බන්.. එපා කියයිද මන්ද දැන්.. දවල් තිස්සෙම ඉවරද ඉවරද කිය කියා ඇහුව. හැංගිල උන්නෙ. :dull:
    මූ ඊමේල් 500K ඉල්ලනව. මම එච්චර ඇදලම නෑ. කලින් එකෙත් ඇද්දෙ 100K.. අඩේ මේ java code එක php වලින් run කරවල වෙන server එකකට upload කරල scrape කරන්න බැරිද.. පැය 4-5ක් යයි වගේ.

    එල මේක ඉවර උනාම මම ඔහෙන් collect කරගන්න මෙහෙ කීල්ස් එකකින් බෝතලේකට ගෙවන්නම්. :yes:..ඒ විදියට පුලුවන් නම්. නැත්නම් ගන්න පුලුවන් වව්චරයක් වත් එවන්නම්.. :rofl: පට්ට තෑන්ක්ස්. :cool: