Along with the “traditional” means of passing parameters, we also support passing parameters as headers. Passing parameters such as api_key
, render
, ultra_premium
and instruction_set
is very straightforward.
Copy import java . net . * ;
import java . io . * ;
public class Scrape {
public static void main ( String [] args) {
try {
String url = "https://api.scraperapi.com/?api_key=<YOUR_API_KEY>&url=https%3A%2F%2Fhttpbin.org%2Fip&render=true" ;
URL urlForGetRequest = new URL(url) ;
String readLine = null ;
HttpURLConnection conection = (HttpURLConnection) urlForGetRequest . openConnection ();
conection . setRequestMethod ( "GET" );
int responseCode = conection . getResponseCode ();
if (responseCode == HttpURLConnection . HTTP_OK ) {
BufferedReader in = new BufferedReader( new InputStreamReader( conection . getInputStream())) ;
StringBuffer response = new StringBuffer() ;
while ((readLine = in . readLine ()) != null ) {
response . append (readLine);
}
in . close ();
System . out . println ( response . toString ());
} else {
throw new Exception( "Error in API Call" ) ;
}
} catch ( Exception ex) {
ex . printStackTrace ();
}
}
}
Copy import java . net . * ;
import java . io . * ;
public class Scrape {
public static void main ( String [] args) {
try {
String url = "https://api.scraperapi.com?url=https://httpbin.org/ip" ;
URL urlForGetRequest = new URL(url) ;
String readLine = null ;
HttpURLConnection connection = (HttpURLConnection) urlForGetRequest . openConnection ();
connection . setRequestMethod ( "GET" );
connection . setRequestProperty ( "x-sapi-render" , "true" );
connection . setRequestProperty ( "x-sapi-api_key" , "<YOUR_API_KEY>" );
int responseCode = connection . getResponseCode ();
if (responseCode == HttpURLConnection . HTTP_OK ) {
BufferedReader in = new BufferedReader( new InputStreamReader( connection . getInputStream())) ;
StringBuffer response = new StringBuffer() ;
while ((readLine = in . readLine ()) != null ) {
response . append (readLine);
}
in . close ();
System . out . println ( response . toString ());
} else {
throw new Exception( "Error in API Call" ) ;
}
} catch ( Exception ex) {
ex . printStackTrace ();
}
}
}
Copy import java . net . Authenticator ;
import java . net . PasswordAuthentication ;
import java . net . URI ;
import java . net . HttpURLConnection ;
import java . net . URL ;
import java . io . BufferedReader ;
import java . io . InputStreamReader ;
import java . util . Properties ;
public class Scrape {
public static void main ( String [] args) {
try {
String apiKey = "<YOUR_API_KEY>" ;
String proxyHost = "proxy-server.scraperapi.com" ;
int proxyPort = 8001 ;
String proxyUser = "scraperapi" ;
String proxyPassword = apiKey;
// Set proxy properties
Properties systemProperties = System . getProperties ();
systemProperties . setProperty ( "http.proxyHost" , proxyHost);
systemProperties . setProperty ( "http.proxyPort" , String . valueOf (proxyPort));
// Set authenticator for proxy authentication
Authenticator . setDefault ( new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication () {
if ( getRequestorType() . equals ( RequestorType . PROXY )) {
return new PasswordAuthentication(proxyUser , proxyPassword . toCharArray()) ;
}
return null ;
}
});
String apiUrl = "http://httpbin.org/ip" ;
URL server = new URL(apiUrl) ;
HttpURLConnection connection = (HttpURLConnection) server . openConnection ();
connection . setRequestProperty ( "x-sapi-render" , "true" );
connection . connect ();
int responseCode = connection . getResponseCode ();
if (responseCode == HttpURLConnection . HTTP_OK ) {
BufferedReader in = new BufferedReader( new InputStreamReader( connection . getInputStream())) ;
StringBuffer response = new StringBuffer() ;
String inputLine;
while ((inputLine = in . readLine ()) != null ) {
response . append (inputLine);
}
in . close ();
System . out . println ( response . toString ());
} else {
throw new Exception( "Error in API Call, Response Code: " + responseCode) ;
}
} catch ( Exception ex) {
ex . printStackTrace ();
}
}
}