@ -62,7 +62,7 @@ import net.yacy.cora.document.RSSFeed;
import net.yacy.cora.document.RSSMessage ;
import net.yacy.cora.document.RSSReader ;
import net.yacy.cora.document.UTF8 ;
import net.yacy.cora.protocol.http.HTTPC onnector ;
import net.yacy.cora.protocol.http.HTTPC lient ;
import net.yacy.cora.services.federated.opensearch.SRURSSConnector ;
import net.yacy.kelondro.data.meta.URIMetadataRow ;
import net.yacy.kelondro.data.word.Word ;
@ -98,10 +98,14 @@ public final class yacyClient {
private static byte [ ] postToFile ( final yacySeed target , final String filename , final Map < String , ContentBody > parts , final int timeout ) throws IOException {
return HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + target . getClusterAddress ( ) + "/yacy/" + filename ) , timeout , target . getHexHash ( ) + ".yacyh" , parts ) ;
// return HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + target.getClusterAddress() + "/yacy/" + filename), timeout, target.getHexHash() + ".yacyh", parts);
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , timeout ) ;
return httpClient . POSTbytes ( new MultiProtocolURI ( "http://" + target . getClusterAddress ( ) + "/yacy/" + filename ) , target . getHexHash ( ) + ".yacyh" , parts , false ) ;
}
private static byte [ ] postToFile ( final yacySeedDB seedDB , final String targetHash , final String filename , final Map < String , ContentBody > parts , final int timeout ) throws IOException {
return HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + targetAddress ( seedDB , targetHash ) + "/yacy/" + filename ) , timeout , yacySeed . b64Hash2hexHash ( targetHash ) + ".yacyh" , parts ) ;
// return HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + targetAddress(seedDB, targetHash) + "/yacy/" + filename), timeout, yacySeed.b64Hash2hexHash(targetHash)+ ".yacyh", parts);
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , timeout ) ;
return httpClient . POSTbytes ( new MultiProtocolURI ( "http://" + targetAddress ( seedDB , targetHash ) + "/yacy/" + filename ) , yacySeed . b64Hash2hexHash ( targetHash ) + ".yacyh" , parts , false ) ;
}
/ * *
@ -137,7 +141,9 @@ public final class yacyClient {
parts . put ( "seed" , UTF8 . StringBody ( mySeed . genSeedStr ( salt ) ) ) ;
// send request
final long start = System . currentTimeMillis ( ) ;
final byte [ ] content = HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + address + "/yacy/hello.html" ) , 30000 , yacySeed . b64Hash2hexHash ( otherHash ) + ".yacyh" , parts ) ;
// final byte[] content = HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + address + "/yacy/hello.html"), 30000, yacySeed.b64Hash2hexHash(otherHash) + ".yacyh", parts);
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , 30000 ) ;
final byte [ ] content = httpClient . POSTbytes ( new MultiProtocolURI ( "http://" + address + "/yacy/hello.html" ) , yacySeed . b64Hash2hexHash ( otherHash ) + ".yacyh" , parts , false ) ;
yacyCore . log . logInfo ( "yacyClient.hello thread '" + Thread . currentThread ( ) . getName ( ) + "' contacted peer at " + address + ", received " + ( ( content = = null ) ? "null" : content . length ) + " bytes, time = " + ( System . currentTimeMillis ( ) - start ) + " milliseconds" ) ;
result = FileUtils . table ( content ) ;
} catch ( final Exception e ) {
@ -341,7 +347,9 @@ public final class yacyClient {
parts . put ( "call" , UTF8 . StringBody ( "remotecrawl" ) ) ;
parts . put ( "count" , UTF8 . StringBody ( Integer . toString ( maxCount ) ) ) ;
parts . put ( "time" , UTF8 . StringBody ( Long . toString ( maxTime ) ) ) ;
final byte [ ] result = HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + target . getClusterAddress ( ) + "/yacy/urls.xml" ) , ( int ) maxTime , target . getHexHash ( ) + ".yacyh" , parts ) ;
// final byte[] result = HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + target.getClusterAddress() + "/yacy/urls.xml"), (int) maxTime, target.getHexHash() + ".yacyh", parts);
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , ( int ) maxTime ) ;
final byte [ ] result = httpClient . POSTbytes ( new MultiProtocolURI ( "http://" + target . getClusterAddress ( ) + "/yacy/urls.xml" ) , target . getHexHash ( ) + ".yacyh" , parts , false ) ;
final RSSReader reader = RSSReader . parse ( RSSFeed . DEFAULT_MAXSIZE , result ) ;
if ( reader = = null ) {
yacyCore . log . logWarning ( "yacyClient.queryRemoteCrawlURLs failed asking peer '" + target . getName ( ) + "': probably bad response from remote peer (1), reader == null" ) ;
@ -644,9 +652,12 @@ public final class yacyClient {
parts . put ( "profile" , UTF8 . StringBody ( crypt . simpleEncode ( rankingProfile . toExternalString ( ) ) ) ) ;
parts . put ( "constraint" , UTF8 . StringBody ( ( constraint = = null ) ? "" : constraint . exportB64 ( ) ) ) ;
if ( secondarySearchSuperviser ! = null ) parts . put ( "abstracts" , UTF8 . StringBody ( "auto" ) ) ;
resultMap = FileUtils . table ( HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + hostaddress + "/yacy/search.html" ) , 60000 , hostname , parts ) ) ;
// resultMap = FileUtils.table(HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + hostaddress + "/yacy/search.html"), 60000, hostname, parts));
//resultMap = FileUtils.table(HTTPConnector.getConnector(MultiProtocolURI.crawlerUserAgent).post(new MultiProtocolURI("http://" + target.getClusterAddress() + "/yacy/search.html"), 60000, target.getHexHash() + ".yacyh", parts));
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , 60000 ) ;
resultMap = FileUtils . table ( httpClient . POSTbytes ( new MultiProtocolURI ( "http://" + hostaddress + "/yacy/search.html" ) , hostname , parts , false ) ) ;
// evaluate request result
if ( resultMap = = null | | resultMap . isEmpty ( ) ) throw new IOException ( "resultMap is NULL" ) ;
try {
@ -791,7 +802,9 @@ public final class yacyClient {
parts . put ( "wordh" , UTF8 . StringBody ( wordhashes ) ) ;
parts . put ( "lurlEntry" , UTF8 . StringBody ( ( ( entry = = null ) ? "" : crypt . simpleEncode ( entry . toString ( ) , salt ) ) ) ) ;
// send request
final byte [ ] content = HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + address + "/yacy/crawlReceipt.html" ) , 10000 , target . getHexHash ( ) + ".yacyh" , parts ) ;
// final byte[] content = HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + address + "/yacy/crawlReceipt.html"), 10000, target.getHexHash() + ".yacyh", parts);
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , 10000 ) ;
final byte [ ] content = httpClient . POSTbytes ( new MultiProtocolURI ( "http://" + address + "/yacy/crawlReceipt.html" ) , target . getHexHash ( ) + ".yacyh" , parts , false ) ;
return FileUtils . table ( content ) ;
} catch ( final Exception e ) {
// most probably a network time-out exception
@ -930,7 +943,9 @@ public final class yacyClient {
parts . put ( "wordc" , UTF8 . StringBody ( Integer . toString ( indexes . size ( ) ) ) ) ;
parts . put ( "entryc" , UTF8 . StringBody ( Integer . toString ( indexcount ) ) ) ;
parts . put ( "indexes" , UTF8 . StringBody ( entrypost . toString ( ) ) ) ;
final byte [ ] content = HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + address + "/yacy/transferRWI.html" ) , timeout , targetSeed . getHexHash ( ) + ".yacyh" , parts , gzipBody ) ;
// final byte[] content = HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + address + "/yacy/transferRWI.html"), timeout, targetSeed.getHexHash() + ".yacyh", parts, gzipBody);
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , timeout ) ;
final byte [ ] content = httpClient . POSTbytes ( new MultiProtocolURI ( "http://" + address + "/yacy/transferRWI.html" ) , targetSeed . getHexHash ( ) + ".yacyh" , parts , gzipBody ) ;
final Iterator < String > v = FileUtils . strings ( content ) ;
// this should return a list of urlhashes that are unknown
@ -974,7 +989,9 @@ public final class yacyClient {
}
try {
parts . put ( "urlc" , UTF8 . StringBody ( Integer . toString ( urlc ) ) ) ;
final byte [ ] content = HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + address + "/yacy/transferURL.html" ) , timeout , targetSeed . getHexHash ( ) + ".yacyh" , parts , gzipBody ) ;
// final byte[] content = HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + address + "/yacy/transferURL.html"), timeout, targetSeed.getHexHash() + ".yacyh", parts, gzipBody);
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , timeout ) ;
final byte [ ] content = httpClient . POSTbytes ( new MultiProtocolURI ( "http://" + address + "/yacy/transferURL.html" ) , targetSeed . getHexHash ( ) + ".yacyh" , parts , gzipBody ) ;
final Iterator < String > v = FileUtils . strings ( content ) ;
final Map < String , String > result = FileUtils . table ( v ) ;
@ -996,7 +1013,9 @@ public final class yacyClient {
if ( address = = null ) { address = "localhost:8090" ; }
try {
final Map < String , ContentBody > parts = yacyNetwork . basicRequestParts ( Switchboard . getSwitchboard ( ) , targetSeed . hash , salt ) ;
final byte [ ] content = HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( new MultiProtocolURI ( "http://" + address + "/yacy/profile.html" ) , 5000 , targetSeed . getHexHash ( ) + ".yacyh" , parts ) ;
// final byte[] content = HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(new MultiProtocolURI("http://" + address + "/yacy/profile.html"), 5000, targetSeed.getHexHash() + ".yacyh", parts);
final HTTPClient httpclient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , 5000 ) ;
final byte [ ] content = httpclient . POSTbytes ( new MultiProtocolURI ( "http://" + address + "/yacy/profile.html" ) , targetSeed . getHexHash ( ) + ".yacyh" , parts , false ) ;
return FileUtils . table ( content ) ;
} catch ( final Exception e ) {
yacyCore . log . logWarning ( "yacyClient.getProfile error:" + e . getMessage ( ) ) ;
@ -1084,7 +1103,9 @@ public final class yacyClient {
newpost . put ( "purpose" , UTF8 . StringBody ( "crcon" ) ) ;
byte [ ] res ;
try {
res = HTTPConnector . getConnector ( MultiProtocolURI . yacybotUserAgent ) . post ( url , timeout , vhost , newpost , true ) ;
// res = HTTPConnector.getConnector(MultiProtocolURI.yacybotUserAgent).post(url, timeout, vhost, newpost, true);
final HTTPClient httpClient = new HTTPClient ( MultiProtocolURI . yacybotUserAgent , timeout ) ;
res = httpClient . POSTbytes ( url , vhost , newpost , true ) ;
System . out . println ( UTF8 . String ( res ) ) ;
} catch ( IOException e1 ) {
Log . logException ( e1 ) ;