print
и echo
более или менее одинаковы; они являются языковыми конструкциями, отображающими строки. Различия тонкие: print
имеет возвращаемое значение 1, поэтому его можно использовать в выражениях, тогда как echo
имеет тип возврата void
; echo
может принимать несколько параметров, хотя такое использование редко; echo
немного быстрее, чем print
. (Лично я всегда использую echo
, никогда print
.)
var_dump
печатает подробный дамп переменной, включая ее тип и тип любых подпозиций (если это массив или объект). print_r
печатает переменную в более понятной для человека форме: строки не цитируются, информация о типе опущена, размеры массива не заданы и т. д.
var_dump
обычно более полезен, чем print_r
при отладке, по моему опыту. Это особенно полезно, когда вы точно не знаете, какие значения / типы у вас есть в переменных. Рассмотрим эту тестовую программу:
$values = array(0, 0.0, false, '');
var_dump($values);
print_r ($values);
С помощью print_r
вы не можете определить разницу между 0
и 0.0
или false
и ''
:
array(4) {
[0]=>
int(0)
[1]=>
float(0)
[2]=>
bool(false)
[3]=>
string(0) ""
}
Array
(
[0] => 0
[1] => 0
[2] =>
[3] =>
)
Since java 1.5 you can also pass a java.net.Proxy instance to the openConnection(proxy)
method:
//Proxy instance, proxy ip = 10.0.0.1 with port 8080
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.1", 8080));
conn = new URL(urlString).openConnection(proxy);
If your proxy requires authentication it will give you response 407.
In this case you'll need the following code:
Authenticator authenticator = new Authenticator() {
public PasswordAuthentication getPasswordAuthentication() {
return (new PasswordAuthentication("user",
"password".toCharArray()));
}
};
Authenticator.setDefault(authenticator);
На этот вопрос довольно легко ответить из Интернета. Задайте системные свойства http.proxyHost
и http.proxyPort
. Вы можете сделать это с помощью System.setProperty ()
или из командной строки с синтаксисом -D
.
Прокси-серверы поддерживаются двумя системными свойствами: http.proxyHost и http.proxyPort. Они должны быть установлены на прокси-сервер и порт соответственно. Следующий базовый пример иллюстрирует это:
String url = "http://www.google.com/",
proxy = "proxy.mydomain.com",
port = "8080";
URL server = new URL(url);
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",proxy);
systemProperties.setProperty("http.proxyPort",port);
HttpURLConnection connection = (HttpURLConnection)server.openConnection();
connection.connect();
InputStream in = connection.getInputStream();
readResponse(in);
Установите следующее перед открытиемConnection,
System.setProperty("http.proxyHost", "host");
System.setProperty("http.proxyPort", "port_number");
Если прокси-сервер требует аутентификации,
System.setProperty("http.proxyUser", "user");
System.setProperty("http.proxyPassword", "password");