Я использовал следующий код для подключения к одному из сервисов Google. Этот код отлично сработал на моей локальной машине:
HttpClient client=new DefaultHttpClient();
HttpPost post = new HttpPost("https://www.google.com/accounts/ClientLogin");
post.setEntity(new UrlEncodedFormEntity(myData));
HttpResponse response = client.execute(post);
Я поместил этот код в рабочую среду, которая заблокировала Google.com. По запросу они разрешили связь с сервером Google, разрешив мне доступ к IP-адресу: 74.125.236.52 - который является одним из IP-адресов Google. Я отредактировал файл хостов, чтобы добавить и эту запись.
По-прежнему я не мог получить доступ к URL, и мне интересно, почему. Поэтому я заменил вышеуказанный код на:
HttpPost post = new HttpPost("https://74.125.236.52/accounts/ClientLogin");
Теперь я получаю ошибку:
javax.net.ssl.SSLException: имя хоста в сертификате не соответствует: < 74.125.236.52 >! = < www.google.com >
Я думаю, что это потому, что Google имеет несколько IP-адресов. Я не могу попросить администратора сети разрешить мне доступ ко всем этим IP - я могу даже не получить весь этот список.
Что мне теперь делать? Существует ли обходной путь на уровне Java? Или это полностью в руках сетевого парня?
-121--675601-Я вижу два подхода к обработке объектов отправителя в операторах IBAction. Первый выглядит так:
-(IBAction)buttonPressed:(id)sender{
UIButton*someButton=(UIButton*)sender;
//do something with someButton.tag or whatever
}
Другой кажется проще:
-(IBAction)buttonPressed:(UIButton*)sender{
//do something with sender.tag or whatever
}
Я обычно выбираю версию 2. Любая конкретная причина, чтобы предпочесть один стиль другому, если вы знаете, что только кнопка будет посылать этот метод?
Я вижу, где версия 1 хорошо, если что-либо может быть отправителем, как кнопка, или переключатель или ползунок и т.д. Но если вы ищете свойства UIButton
, такие как тэги
, это не будет иметь большого значения, если ваш отправитель не является UIButton
. Так что версия 2 кажется гораздо более простой.
Просто подумал, что посмотрю, не упустил ли я очевидную причину предпочесть версию 1.